预防死锁:

    破坏环路等待条件是属于死锁的预防,该方法是通过设置某些限制条件,去破坏产生死锁的四个必要条件的一个或多个条件,来预防发生死锁。易实现,被广泛使用,但由于所施加的限制条件往往太严格,因而可能导致系统资源利用率和吞吐量降低。

避免死锁

典型的银行家算法是属于死锁的避免 ,避免死锁是在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避免死锁,而不需事先采取各种限制措施去破坏产生死锁的四个必要条件。这种方法施加的限制条件较弱,但在实现上有一定的难度。

解除死锁

     剥夺资源是属于死锁的解除  ,这是与检测死锁相配套的一种措施。当检测到系统中已发生死锁时,须将进程从死锁状态中解脱出来。常用的实施方法是撤销或挂起一些进程,以便回收一些资源,再将这些资源分配给已处于阻塞状态​的进程,使之转为就绪状态,以继续运行。死锁的检测和解除措施,有可能使系统获得较好的资源利用率和吞吐量,但在实现上难度也最大。

预防与避免的区别

     死锁避免和死锁预防的区别在于,死锁预防是设法至少破坏产生死锁的四个必要条件之一,严格的防止死锁的出现,而死锁避免则不那么严格的限制产生死锁的必要条件的存在,因为即使死锁的必要条件存在,也不一定发生死锁.死锁避免是在系统运行过程中注意避免死锁的最终发生.