aliases:
- 死锁
例如考虑一个独木桥
桥可以看成一种资源,只能单向行驶。如上图,就发生了死锁。
如果死锁发生,可以通过一辆车倒退来解决问题,即释放已占有的资源。这一过程可能需要多辆车倒退,且可能发生饥饿现象。
或计算机系统中,假设有 A 进程和 B 进程都需要访问打印机和绘图仪
其中,A 进程先申请打印机,在释放打印机前又申请了绘图仪。B 进程先申请绘图仪,在释放绘图仪前又申请了打印机。
进程推进顺序不合适。在进程运行过程中,当请求和释放资源的顺序不当时,可能会导致进程死锁。
(选择题)
Coffman 等人总结了死锁产生的四个必要条件
为了更好地分析是否出现死锁,可以通过进程-资源分配图分析