**使用 cmpxchg 实现自旋锁**:原子的 load-store 可以帮助我们实现:(1) 取出内存中的数值 (2) 写入一个数值,并且指令的执行在多处理器系统上依旧带有 “stop-the-world” 的效果。因此,无论有多少线程同时执行 `lock()`,仅有一个能获得 `UNLOCKED` 的数值,从而实现互斥。