(进程管理)03.死锁的解除

一旦发生死锁,有以下四种方式来解除。
1、资源剥夺
【(进程管理)03.死锁的解除】产生死锁的条件之一就是:资源不可剥夺。如果允许进程可以剥夺其他进程的资源,那么就可以使得一个进程可以从其他进程剥夺足够的资源,从而解除死锁状态。
2、撤销进程
按照某种顺序,撤销进程并释放资源,直到释放出足够多的资源,并解除死锁。最极端的情况就是,撤销了所有进程。
3、进程回退
让进程回退到某个状态(回退到没有获取某种资源的状态),从而释放已经获得的资源,这样其他进程就可以获得因回退而被释放的资源并解除死锁状态。
4、鸵鸟策略
假装没有发生死锁,不管了。因为解除死锁的代价非常高,所以就忽略死锁。
死锁产生的本质原因就是那两个,但因为死锁已经发生了,所以只能从资源这一方向入手了。
从上面死锁解除方法里,就能发现都是通过 “释放资源” 的方式来解除死锁。

    推荐阅读