|
@@ -2,6 +2,7 @@ package util
|
|
|
|
|
|
import (
|
|
|
"fmt"
|
|
|
+ "sync"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -38,3 +39,19 @@ func ObtainAppointTimeString(now string, beApartDay int) string {
|
|
|
stopTimeStr := stopTime.Format("2006-01-02 15:04:05")
|
|
|
return stopTimeStr
|
|
|
}
|
|
|
+
|
|
|
+var UserPool = 20
|
|
|
+var Locks = make([]*sync.Mutex, UserPool)
|
|
|
+
|
|
|
+func Lock(userId string) *sync.Mutex {
|
|
|
+ n := 0
|
|
|
+ for _, v := range userId {
|
|
|
+ n += int(v)
|
|
|
+ }
|
|
|
+ return Locks[n%UserPool]
|
|
|
+}
|
|
|
+func init() {
|
|
|
+ for i := 0; i < UserPool; i++ {
|
|
|
+ Locks[i] = &sync.Mutex{}
|
|
|
+ }
|
|
|
+}
|