某系统中有n个并发进程,有同类资源R共m个,假设每个进程对资源R的最大需求是w,则可能发生死锁的情况是

Am=5,n=3,w=2Bm=2,n=3,w=1Cm=4,n=3,w=2Dm=6,n=3,w=3为什么答案是D... A m=5,n=3,w=2 B m=2,n=3,w=1 C m=4,n=3,w=2 D m=6,n=3,w=3
为什么答案是D
展开
 我来答
吉原疯
2016-06-30 · TA获得超过205个赞
知道小有建树答主
回答量:59
采纳率:0%
帮助的人:61.6万
展开全部
额..........公式大概是n*w-m>=n............所以把数值带进去一看就知道答案是D了......
原因的话也很简单.............
每个并发都需要获得资源.假设每个并发都同时获得最大资源........这样的话如果不符合上面的公式的话会发生什么情况呢?
即n*w-m<n的时候.表明最少有一个并发进程是不会阻塞的.这个进程不会因为获得不到资源而阻塞的话.所有进程就都不会因获得不到资源而造成死锁.因为那个能获得所有需要的进程是最终会释放自己所获得的资源的.只要这个进程释放了资源.其他因这个资源而阻塞的进程都会获得资源解锁.所以最终不会有死锁的情况出现.
但是当n*w-m>=n的时候.就是所有进程都无法获得所需的资源.这个时候所有进程都会在锁的地方阻塞.因为都没获得所需的资源.所以也不会有释放锁的进程出现.所以最终发生了进程饥饿.造成所有进程都被阻塞了.这个时候就被称为死锁的情况.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式