无锁队列:Michael-Scott 算法与 ABA 问题
按 PODC 1996 原文复原 Michael-Scott 无锁队列:线性化点、计数指针防 ABA、计数器为何不解决内存回收、每条 CAS 的 C11 内存序,并用 TSan 与线性化检查器实测。
Linux 内核、存储与网络、可观测性、系统架构与大模型基础设施的工程笔记:机制拆解、踩坑复盘与可核对证据,少空谈。
共 2 篇文章 · 返回首页
按 PODC 1996 原文复原 Michael-Scott 无锁队列:线性化点、计数指针防 ABA、计数器为何不解决内存回收、每条 CAS 的 C11 内存序,并用 TSan 与线性化检查器实测。
正确的无锁数据结构可以写出来。但代价比你想象的大。CAS 循环、ABA 问题、内存回收、x86 和 ARM 的行为差异——这篇从一行 compare_exchange 开始,到一个完整的无锁哈希表结束。