低延迟系统开发 #17 2026 年 10 月 26 日 约 10 分钟wait-freewait-free 不是更快的 lock-free:它把 CAS 失败从“再来一次”变成“我排在你后面”,每个线程的步数因此有了上界,代价是更多原子操作和更难写对的代码。#cpp#atomics#wait-free#lock-free#linearizability
低延迟系统开发 #4 2026 年 9 月 20 日 约 15 分钟无锁队列与 Micro-Batching无锁 SPSC 队列成立,是因为每个共享变量只有一个写者:每一边只写自己的下标,只读对方的。剩下的工作是别让这个性质被悄悄破坏:元素个数用两个下标相减而不是共享计数器,对方的下标缓存一份、只在看起来满了或空了时才刷新,日志按文本段推而不是按字符推。SPSC 只在“失败就返回”的接口下才是 wait-free,有界队列满了总得在丢弃和阻塞之间选一个。#cpp#lock-free#wait-free#spsc#ring-buffer