文档目录
硬件原子指令
本节目录
- 总线锁(Lock Asserted)与 缓存锁(Cache Locking) 这个问题问到了并发编程的根基,也是理解无锁编程(Lock-Free)和内存模型(Memory Model)的前提。为了让你直观理解,我们先从“为什么冲突”说 …
- x86 架构下的核心兵器 LOCK前缀就像给指令挂上了“原子手雷”,而cmpxchg和xadd则是两种不同战术的手雷。 我们先拆解硬件行为,再看汇编形态,最后看C++如何映射。 1. …
- ARM 架构下的核心兵器 这个问题切中了移动端和服务器端底层设计的根本分歧。很多从x86转到ARM的开发者,第一反应就是:“为什么ARM没有lock cmpxchg?"。 答案很哲学 …
- 硬件层面的ABA问题 这个问题触及了无锁编程最隐蔽的陷阱。很多人以为ABA只是理论概念,但在内存复用的场景下,它会导致内存损坏甚至安全漏洞。 我们先从硬件视角看为什么CPU会被骗 …