死锁产生的必要条件的理解

死锁产生的必要条件的理解

  • 什么是死锁
    举一个栗子:
    1. 有两个人A,B同时看上了一双鞋。
    A穿上了左鞋,B穿上了右鞋。
    A想要右鞋但B不给,B想要左鞋而A不给,
    于是就僵持住了(发生了死锁)

  • 下面来讲死锁产生的必要条件:

    1. 互斥条件(Mutual Exclusion Condition)
      一个进程独享一个资源。
      如果左鞋能被A和B同时穿上(即资源能被多个进程共享)则不会发生僵持。
    2. 不剥夺条件( No Preemption Condition)
      进程所获得资源在未使用完之前,不能被其他进程夺走。
      A不能强行把右鞋从B上脱下来
    3. 请求并保持条件(Hold and Wait Condition)
      进程已经保持了一个资源,又对新的资源做出了请求。
      A和B都想要对方脚上的另一只鞋。
    4. 循环的等待条件
      存在一种资源的循环等待链。
      A和B都想要对方脚上的鞋。构成环路,如果此时旁边有个人C,C穿着右鞋,则A可以获取C脚上的鞋。
  • 死锁的发生必须同时满足以上四点条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值