美文网首页
sync.Mutex,锁复制

sync.Mutex,锁复制

作者: 哆啦在这A梦在哪 | 来源:发表于2020-12-04 10:47 被阅读0次

    使用锁的时候,如果将带有锁结构的变量赋值给其他变量,锁的状态会复制,操作中尽量不要这么做,以下的例子

    type ak struct {
        num  int
        lock sync.Mutex
    }
    
    func main() {
        t1 := ak{}
        t1.lock.Lock()
        var t2 = t1//这一步会把锁的状态也复制过去
        t1.lock.Unlock()
        t2.lock.Lock()//由于上一步已经是锁定的状态了,这里直接死锁
        t2.lock.Unlock()
        log.Println("123")
    }
    
    

    相关文章

      网友评论

          本文标题:sync.Mutex,锁复制

          本文链接:https://www.haomeiwen.com/subject/xsqfiktx.html