github.com/gogf/gf@v1.16.9/.example/os/gmlock/1.lock&unlock.go (about) 1 package main 2 3 import ( 4 "sync" 5 "time" 6 7 "github.com/gogf/gf/os/glog" 8 "github.com/gogf/gf/os/gmlock" 9 ) 10 11 // 内存锁基本使用 12 func main() { 13 var ( 14 key = "lock" 15 wg = sync.WaitGroup{} 16 ) 17 for i := 0; i < 10; i++ { 18 wg.Add(1) 19 go func(i int) { 20 gmlock.Lock(key) 21 glog.Println(i) 22 time.Sleep(time.Second) 23 gmlock.Unlock(key) 24 wg.Done() 25 }(i) 26 } 27 wg.Wait() 28 }