死锁
目录
1 死锁概念
2 死锁的特征
3 死锁的处理方法
4 死锁预防
5 死锁避免
6 死锁检测
7 死锁恢复
8 小结
1 死锁概念
在多道程序设计中,多个进程可以竞争有限数量的资源。如果所申请的资源被其他等待进程占有,那么该等待进程有可能再也无法改变状态。这种情况叫做死锁。
死锁最好的例证就是一项法律:“当两辆列车在十字路口逼近时,他们应该完全停下来,并且一列列车开走之前另一列列车不能再次启动。”
进程在使用资源之前应该申请资源,在使用资源之后应该释放资源。
一个进程可能要申请许多资源,以便完成任务。
使用资源的顺序:
- 1 申请:进程请求资源。如果申请不能立即被允许,那么申请进程应等待,直到它能获得资源为止。
- 2 使用:进程对资源进行操作。
- 3 释放:进程释放资源。
2 死锁的特征
死锁产生的必要条件(4个)
- 互斥