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

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

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

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

互斥锁

 sync.Mutex

  

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-02
  • 2021-07-08
  • 2021-11-06
  • 2021-05-29
  • 2022-02-28
猜你喜欢
  • 2021-07-04
  • 2021-05-06
  • 2021-07-26
  • 2021-06-08
  • 2021-07-29
  • 2022-12-23
相关资源
相似解决方案