死锁四个必要条件及解决方法

目录

四个必要条件

解决死锁的方法


四个必要条件

  1. 互斥条件:资源不能被共享,只能由一个进程使用。
  2. 请求和保持条件:—个进程应占有至少一个资源,并等待另一个资源,而该资源为其他进程所占有。
  3. 不剥夺条件:已经分配的资源不能从相应的进程中被强制地剥夺。
  4. 循环等待条件:系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源。

解决死锁的方法

也就是想办法破除4个必要条件的一个或多个。其中,1由系统保证,不能也不应该破除。

  • 破除2请求和保持条件:不让部分分配 -> 预先静态分配资源。一次配置所有需要的资源,不做多次请求资源。
  • 破除3不剥夺条件:剥夺 -> 线程申请新资源,必须释放以前申请的资源,之后再重新申请。
  • 破除4循环等待条件顺序资源分配法。首先给系统中的资源编号,规定每个线程,必须按编号递增的顺序请求资源,只能申请编号比之前大的资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值