操作系统--并发进程死锁

死锁概念:

是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。

死锁产生的条件:

(最关键的为第四个条件)

           

解决死锁的方法:

 

预防死锁:指进程申请资源必须遵循某些预先制定的限制条件,以破坏产生死锁的四个必要条件中的一个或者几个,防止死锁的发生。

避免死锁:指当进程申请资源时,需要首先判断(预测),如果满足这次资源请求是否会导致死锁,可可导致死锁的资源请求将会被拒绝,让请求资源进程的进程阻塞等待,直到其所需要的资源可分配位为止。

了解学习银行家算法(http://blog.csdn.net/dk_zhe/article/details/7239376)

哲学家进餐问题(http://book.51cto.com/art/200907/138168.htm)

检测并解除死锁:指当进程申请资源时,不进行任何限制,即允许死锁发生。但要求系统定期或者不定期检测是否有死锁发生。当检测到死锁时,在力求解除死锁。

原文地址:https://www.cnblogs.com/huangwentian/p/7487689.html