一旦产生死锁,有以下四种形式来解除。
1、资源剥夺
产生死锁的条件之一就是:资源不可剥夺。如果容许过程能够剥夺其余过程的资源,那么就能够使得一个过程能够从其余过程剥夺足够的资源,从而解除死锁状态。
2、撤销过程
依照某种程序,撤销过程并开释资源,直到开释出足够多的资源,并解除死锁。最极其的状况就是,撤销了所有过程。
3、过程回退
让过程回退到某个状态(回退到没有获取某种资源的状态),从而开释曾经取得的资源,这样其余过程就能够取得因回退而被开释的资源并解除死锁状态。
4、鸵鸟策略
伪装没有产生死锁,不论了。因为解除死锁的代价十分高,所以就疏忽死锁。
死锁产生的实质起因就是那两个,但因为死锁曾经产生了,所以只能从资源这一方向动手了。
从下面死锁解除办法里,就能发现都是通过“开释资源”的形式来解除死锁。