锁对比
| 原子变量 | 硬件级 | 极低 | 不挂起 (Wait-free) | 计数器、状态标志、无锁队列 | 它是所有锁的“原子”,基于 CAS 指令实现,性能天花板。 |
| 自旋锁 | CPU 级 | 低 (短时) | 忙等待 (Spinning) | 内核中断、临界区极短的任务 | 拿不到就死循环。千万别在自旋锁里做 I/O,否则 CPU 会烧红。 |
| 互斥锁 | 系统级 | 中 | 挂起 (Blocking) | 保护复杂的内存结构、代码块 | 最通用。拿不到就睡觉,由内核调度, |
| 原子变量 | 硬件级 | 极低 | 不挂起 (Wait-free) | 计数器、状态标志、无锁队列 | 它是所有锁的“原子”,基于 CAS 指令实现,性能天花板。 |
| 自旋锁 | CPU 级 | 低 (短时) | 忙等待 (Spinning) | 内核中断、临界区极短的任务 | 拿不到就死循环。千万别在自旋锁里做 I/O,否则 CPU 会烧红。 |
| 互斥锁 | 系统级 | 中 | 挂起 (Blocking) | 保护复杂的内存结构、代码块 | 最通用。拿不到就睡觉,由内核调度, |
评论前必须登录!
注册