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

一旦发生死锁,有以下四种方式来解除。

1、资源剥夺

产生死锁的条件之一就是:资源不可剥夺。如果允许进程可以剥夺其他进程的资源,那么就可以使得一个进程可以从其他进程剥夺足够的资源,从而解除死锁状态。

2、撤销进程

按照某种顺序,撤销进程并释放资源,直到释放出足够多的资源,并解除死锁。最极端的情况就是,撤销了所有进程。

3、进程回退

让进程回退到某个状态(回退到没有获取某种资源的状态),从而释放已经获得的资源,这样其他进程就可以获得因回退而被释放的资源并解除死锁状态。

4、鸵鸟策略

假装没有发生死锁,不管了。因为解除死锁的代价非常高,所以就忽略死锁。

死锁产生的本质原因就是那两个,但因为死锁已经发生了,所以只能从资源这一方向入手了。

从上面死锁解除方法里,就能发现都是通过 “释放资源” 的方式来解除死锁。

posted @ 2021-08-08 21:15  多元思维的开发者  阅读(534)  评论(0编辑  收藏  举报