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  }