golang之锁

  Go语言提供了传统的同步goroutine的机制,就是对共享资源加锁。如果需要顺序访问一个整形变量或者一段代码,atomic和sync包里的函数提供了很好的解决方案。

原子函数:atmoic.AddInt64           atmoic.LoadInt64               atmoic.StoreInt64

  AddInt64 这个函数会同步整型值的加法,方法是强制同一时刻只能有一个goroutine运行并完成这个加法操作。当goroutine试图去调用任何原子函数时,这些goroutine都会自动根据所引用的变量做同步处理。

  另外两个有用的原子函数LoadInt64 和 StoreInt64,这两个函数提供了一种安全地读写一个整型值的方式。

互斥锁

 sync.Mutex

  

posted @ 2020-06-05 18:04  顽强的allin  阅读(889)  评论(0编辑  收藏  举报