跳转到内容

并发与同步

竞态条件、临界区、互斥锁的实现(自旋、futex)、条件变量与信号量、死锁的四个条件与预防、读写锁与 RCU、原子操作与内存序。本章还讨论”并发 bug 为什么难复现”。

  • 锁保护的是数据,不是代码
  • 死锁预防最实用的办法是固定加锁顺序
  • 内存序(acquire/release)是无锁编程的基础