一、什么是死锁
二、死锁与饥饿
三、资源的类型
3.1 可重用资源和消耗性资源
3.1.1 可重用资源(永久性资源)
3.1.2 消耗性资源(临时性资源)
3.2 可抢占资源和不可抢占资源
3.2.1 可抢占资源
3.2.2 不可抢占资源
四、死锁产生的原因
4.1 竞争不可抢占资源引起死锁
4.2 竞争可消耗资源引起死锁
4.3 进程推进顺序不当引起死锁
五、产生死锁的四个必要条件
5.1 互斥条件:
5.2 不可剥夺条件:
5.3 请求与保持条件:
5.4 循环等待条件:
六、处理死锁的方法
6.1 预防死锁
6.2 避免死锁
6.2.1 常用避免死锁的方法
6.2.1.1 有序资源分配法
6.2.1.2 银行家算法
6.2.2 常用避免死锁的技术
6.2.2.1 加锁顺序
6.2.2.2 加锁时限
6.2.2.3 死锁检测
6.3 检测死锁
6.4 解除死锁