死锁

本文深入探讨了死锁的概念,包括产生的原因、四个必要条件、处理死锁的四种方法,如预防、避免、检测和解除。同时提到了银行家算法在避免死锁中的应用以及资源分配图在死锁检测中的作用。
摘要由CSDN通过智能技术生成

并发性——死锁

死锁:多个进程因竞争资源而造成的一种僵局(Deadly Embrace),若无处力作用,这些进程将永远不能再向前推进。

产生进程死锁的的原因:

  1. 竞争系统资源
  2. 进程的推进顺序不当

 

产生死锁的必要条件

  1. 互斥条件:一个资源只能由一个进程独自占有使用
  2. 请求和保持条件:进程请求资源得不到导致阻塞,自身占有资源却又不释放
  3. 非剥夺条件:自己占有的资源不能被其他进程强行夺走
  4. 循环等待条件:类似三角变的关系

 

处理死锁的基本方法:

  1. 预防死锁——破坏死锁的必要条件

此处需要注意的是,除却互斥条件不准被破坏外,其他条件都准允被破坏。

  1. 避免死锁——银行家算法和+安全性算法(没看懂此算法,求大神指点)

此处需要明确安全状态:指系统能按某种进程顺序(P1,P2,…,Pn),来为每个进程Pi分配其所需资源,直至满足每个进程对资源的最大需求,使每个过程都可顺利地完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值