发布网友 发布时间:2022-05-06 03:31
共2个回答
热心网友 时间:2022-06-28 14:36
死锁的条件互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。循环等待条件(Circular wait):系统中若干进程组成环路,改环路中每个进程都在等待相邻进程正占用的资源。处理死锁的策略1.忽略该问题。例如鸵鸟算法,该算法可以应用在极少发生死锁的的情况下。为什么叫鸵鸟算法呢,因为传说中鸵鸟看到危险就把头埋在地底下,可能鸵鸟觉得看不到危险也就没危险了吧。跟掩耳盗铃有点像。2.检测死锁并且恢复。3.仔细地对资源进行动态分配,以避免死锁。4.通过破除死锁四个必要条件之一,来防止死锁产生。热心网友 时间:2022-06-28 14:36
本质上的运行原理是一样的,但是使用的场景不同,前者是用来模拟预测的,以防止系统进入不安全状态,从而避免死锁发生;后者是用来检测死锁是否已经发生的。也就是说后者在运行时,死锁可能已经发生了