跳到主要内容
uencoder

Deadlock

死锁是多线程互相等待对方持有的锁,导致永久阻塞。

用途

理解死锁产生条件与防御,是并发程序可靠性核心。

机制

Coffman 四条件:互斥、持有并等待、无抢占、循环等待。同时满足则死锁。防御:锁排序(全局顺序)、超时、try-lock、避免嵌套锁。

用例

  • 并发可靠性
  • 锁设计
  • 死锁检测

相关工具

参考链接