Posted in

Go原子操作与sync.Pool误用实录:atomic.LoadUint64返回0?sync.Pool Put后Get为空?——底层内存屏障与对象生命周期详解

第一章:Go原子操作与sync. … Go原子操作与sync.Pool误用实录:atomic.LoadUint64返回0?sync.Pool Put后Get为空?——底层内存屏障与对象生命周期详解Read more

Posted in

Go原子操作失效现场(atomic.LoadUint64读取到陈旧值?揭秘CPU store buffer与memory barrier缺失的硬件级因果链)

第一章:Go原子操作失效现场的典 … Go原子操作失效现场(atomic.LoadUint64读取到陈旧值?揭秘CPU store buffer与memory barrier缺失的硬件级因果链)Read more

Posted in

Go原子操作不是银弹!atomic.LoadUint64在x86/ARM一致性差异、缓存行伪共享、替代sync/atomic.Value场景决策树

第一章:Go原子操作不是银弹!a … Go原子操作不是银弹!atomic.LoadUint64在x86/ARM一致性差异、缓存行伪共享、替代sync/atomic.Value场景决策树Read more

Posted in

Go原子操作的“幽灵读”问题:当atomic.LoadUint64读到0却业务逻辑已写入,如何用memory barrier修复?

第一章:Go原子操作的“幽灵读” … Go原子操作的“幽灵读”问题:当atomic.LoadUint64读到0却业务逻辑已写入,如何用memory barrier修复?Read more