RSS
菜单

Go sync/atomic 原子操作:与 Mutex 的区别及适用场景

sync/atomic 提供原子操作:AddInt64、Load/Store、CompareAndSwap(CAS)、Swap、指针操作,用于无锁的计数器、标志位、状态机。与锁的区别:atomic 是硬件级单指令原子性,无阻塞、开销小(纳秒级),但只能做简单操作;锁可保护任意代码块。选择:计数、开关、状态切换用 atomic;复杂临界区用 Mutex。注意:atomic 要求 64 位对齐(32 位平台注意);Go 1.19+ 有 atomic.Bool/Int64/Value 类型化封装。

下载推广海报

圈内讨论推广海报

《Go sync/atomic 原子操作:与 Mutex 的区别及适用场景》完整推广海报
一起交流

全部回复 0

分享经验,让问题更进一步

讨论,从你的观点开始

还没有回复,欢迎补充经验或分享不同的思路。