Deadlock
死锁是多线程互相等待对方持有的锁,导致永久阻塞。
用途
理解死锁产生条件与防御,是并发程序可靠性核心。
机制
Coffman 四条件:互斥、持有并等待、无抢占、循环等待。同时满足则死锁。防御:锁排序(全局顺序)、超时、try-lock、避免嵌套锁。
用例
- 并发可靠性
- 锁设计
- 死锁检测
死锁是多线程互相等待对方持有的锁,导致永久阻塞。
理解死锁产生条件与防御,是并发程序可靠性核心。
Coffman 四条件:互斥、持有并等待、无抢占、循环等待。同时满足则死锁。防御:锁排序(全局顺序)、超时、try-lock、避免嵌套锁。