C语言笔试题精选3---死锁发生必要条件是?

本文详细解析了导致死锁的四个必要条件:相互排斥使用、不可剥夺、请求和保持以及循环等待,并通过实例帮助理解这些概念。

问:以下哪些是死锁发生必要条件?

A、相互排斥条件

B、请求和保持

C、不可剥夺

D、循环等待






具体解答:

1、相互排斥使用(资源独占)
 一个资源每次仅仅能给一个进程使用 


2、不可强占(不可剥夺)
    资源申请者不能强行的从资源占有者手中夺取资源,资源仅仅能由占有者自愿释放 


3、请求和保持(部分分配,占有申请)
一个进程在申请新的资源的同一时候保持对原有资源的占有(仅仅有这样才是动态申请,动态分配) 


4、循环等待
存在一个进程等待队列
    {P1 , P2 , … , Pn},
    当中P1等待P2占有的资源,P2等待P3占有的资源,…,Pn等待P1占有的资源,形成一个进程等待环路

答案:ABCD

转载于:https://www.cnblogs.com/gcczhongduan/p/4298281.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值