版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fwhezfwhez/article/details/82900498
- mutex实例无需实例化,声明即可使用
func add(){
var mutex sync.Mutex
mutex.Lock()
defer mutex.Unlock()
fmtPrintln("test lock")
}
- mutex在传递给外部使用的时候,需要传指针,不然传的是拷贝,会引起锁失败。并且指针的mutex是一定要实例化过的。
func add() *sync.Mutex{
var m = &sync.Mutex{}
return m
}
- 对同一个锁,进行多次锁,会死锁
func a(){
var mutex sync.Mutex
mutex.Lock()
muex.Lock() // dead lock
}