参考链接
Overview
Package atomic提供了用于实现同步算法的低级原子内存原语。
正确使用这些函数需要非常小心。除了特殊的、低级的应用程序外,同步最好使用通道或同步包的工具来完成。通过通信共享内存;不要通过共享内存来通信。
交换操作,由SwapT函数实现,是原子等价的 :
old = *addr
*addr = new
return old
比较和交换操作,由CompareAndSwapT函数实现,是原子等价的 :
if *addr == old {
*addr = new
return true
}
return false
由AddT函数实现的add操作是原子等价的 :
*addr += delta
return *addr
加载和存储操作,由LoadT和StoreT函数实现,是原子等价的”return addr”和”addr = val”。