github.com/gogf/gf@v1.16.9/.example/os/gmutex/gmutex_func.go (about) 1 package main 2 3 import ( 4 "time" 5 6 "github.com/gogf/gf/os/glog" 7 8 "github.com/gogf/gf/os/gmutex" 9 ) 10 11 func main() { 12 mu := gmutex.New() 13 go mu.LockFunc(func() { 14 glog.Println("lock func1") 15 time.Sleep(1 * time.Second) 16 }) 17 time.Sleep(time.Millisecond) 18 go mu.LockFunc(func() { 19 glog.Println("lock func2") 20 }) 21 time.Sleep(2 * time.Second) 22 }