项目:https://github.com/uber-go/atomic
    用于强制原子访问的基本类型的简单包装器
    使用它的原因很简单,当我们定义一个原子变量时,和普通变量的定义没有任何区别,这样该变量的使用者并不能知道该变量是需要进行原子操作的

    demo

    1. var atom atomic.Uint32
    2. atom.Store(42)
    3. atom.Sub(2)
    4. atom.CAS(40, 11)

    该库比较简单,只是对官方atomic的简单包装,详见文件:https://pkg.go.dev/go.uber.org/atomic