# Functions
AddInt32 atomically adds delta to *addr and returns the new value.
AddInt64 atomically adds delta to *addr and returns the new value.
AddUint32 atomically adds delta to *addr and returns the new value.
AddUint64 自动将 delta 加到 *addr 并返回一个新值 为了从 x 减去有符号的常量值 c,可以使用 AddUint64(&x, ^uint64(c-1)) 特别地,递减 x 可以使用 AddUint64(&x, ^uint64(0)).
AddUintptr atomically adds delta to *addr and returns the new value.
CompareAndSwapInt32 executes the compare-and-swap operation for an int32 value.
CompareAndSwapInt64 executes the compare-and-swap operation for an int64 value.
CompareAndSwapPointer executes the compare-and-swap operation for a unsafe.Pointer value.
CompareAndSwapUint32 executes the compare-and-swap operation for a uint32 value.
CompareAndSwapUint64 executes the compare-and-swap operation for a uint64 value.
CompareAndSwapUintptr executes the compare-and-swap operation for a uintptr value.
LoadInt32 atomically loads *addr.
LoadInt64 atomically loads *addr.
LoadPointer atomically loads *addr.
LoadUint32 atomically loads *addr.
LoadUint64 atomically loads *addr.
LoadUintptr atomically loads *addr.
StoreInt32 atomically stores val into *addr.
StoreInt64 atomically stores val into *addr.
StorePointer 将 val 原子的存入 *addr 中.
StoreUint32 atomically stores val into *addr.
StoreUint64 atomically stores val into *addr.
StoreUintptr atomically stores val into *addr.
SwapInt32 atomically stores new into *addr and returns the previous *addr value.
SwapInt64 atomically stores new into *addr and returns the previous *addr value.
SwapPointer atomically stores new into *addr and returns the previous *addr value.
SwapUint32 atomically stores new into *addr and returns the previous *addr value.
SwapUint64 atomically stores new into *addr and returns the previous *addr value.
SwapUintptr atomically stores new into *addr and returns the previous *addr value.