进程死锁
上一节
下一节
死锁的定义
一组进程中,每个进程都无限等待被另一进程所占有的资源,因而永远无法得到资源,这种现象称为进程死锁,这一组进程就称为死锁进程。
如果死锁发生,会浪费大量系统资源,甚至导致系统崩溃。
产生死锁的例子
1. 申请不同类型的资源产生死锁,例如申请不同的设备。
2. 申请相同类型的资源产生死锁,例如申请多台同类型设备。
3. PV操作不当产生死锁:生产者-消费者问题中,如果把互斥信号量的P操作放在同步信号量之前,则可能出现死锁
4. 对临时性资源的使用不加限制引起死锁:进程通信中的信件,如果对信件的发送和接受不加限制。例如,进程P1等待P2的信件然后向P3发信,P2等待P3的信件然后向P1发信,P3等待P1的信件然后向P2发信
本节资料

