项目:https://github.com/uber-go/atomic
用于强制原子访问的基本类型的简单包装器
使用它的原因很简单,当我们定义一个原子变量时,和普通变量的定义没有任何区别,这样该变量的使用者并不能知道该变量是需要进行原子操作的
demo
var atom atomic.Uint32
atom.Store(42)
atom.Sub(2)
atom.CAS(40, 11)
该库比较简单,只是对官方atomic的简单包装,详见文件:https://pkg.go.dev/go.uber.org/atomic