死锁的四个必要条件,及处理方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了死锁的四个必要条件,及处理方法相关的知识,希望对你有一定的参考价值。

死锁的四个必要条件
互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。
请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。
非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。
循环等待条件(Circular wait):系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源。
处理死锁的策略
1.忽略该问题。例如鸵鸟算法,该算法可以应用在极少发生死锁的的情况下。为什么叫鸵鸟算法呢,因为传说中鸵鸟看到危险就把头埋在地底下,可能鸵鸟觉得看不到危险也就没危险了吧。跟掩耳盗铃有点像。
2.检测死锁并且恢复。
3.仔细地对资源进行动态分配,以避免死锁。
4.通过破除死锁四个必要条件之一,来防止死锁产生。









以上是关于死锁的四个必要条件,及处理方法的主要内容,如果未能解决你的问题,请参考以下文章

操作系统| 处理机调度(各种作业调度算法银行家算法三级调度死锁产生原因和必要条件处理死锁的方法死锁定理的作用实时调度算法)

死锁的原因及解决方法 死锁的原因及解决办法

golang中关于死锁的思考与学习

Java 死锁及解决方法

请教一个MYSQL中死锁的问题

请教一个MYSQL中死锁的问题