首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有n(n≥3)位哲学家围坐在一张圆桌边,每位哲学家交替地就餐和思考。在圆桌中心有m(m≥1)个碗,每两位哲学家之间有一根筷子。每位哲学家必须取到一个碗和两侧的筷子之后,才能就餐,进餐完毕,将碗和筷子放回原位,并继续思考。为使尽可能多的哲学家同时就餐,且防止
有n(n≥3)位哲学家围坐在一张圆桌边,每位哲学家交替地就餐和思考。在圆桌中心有m(m≥1)个碗,每两位哲学家之间有一根筷子。每位哲学家必须取到一个碗和两侧的筷子之后,才能就餐,进餐完毕,将碗和筷子放回原位,并继续思考。为使尽可能多的哲学家同时就餐,且防止
admin
2020-06-17
29
问题
有n(n≥3)位哲学家围坐在一张圆桌边,每位哲学家交替地就餐和思考。在圆桌中心有m(m≥1)个碗,每两位哲学家之间有一根筷子。每位哲学家必须取到一个碗和两侧的筷子之后,才能就餐,进餐完毕,将碗和筷子放回原位,并继续思考。为使尽可能多的哲学家同时就餐,且防止出现死锁现象,请使用信号量的P、V操作[wait( )、signal( )操作]描述上述过程中的互斥与同步,并说明所用信号量及初值的含义。
选项
答案
回顾传统的哲学家问题,假设餐桌上有n个哲学家、n根筷子,那么可以用这种方法避免死锁:限制至多允许n-1个哲学家同时“抢”筷子,那么至少会有1个哲学家可以获得两根筷子并顺利进餐,于是不可能发生死锁的情况。本题可以用碗这个限制资源来避免死锁:当碗的数量m小于哲学家的数量n时,可以直接让碗的资源量等于m,确保不会出现所有哲学家都拿一侧筷子而无限等待另一侧筷子进而造成死锁的情况;当碗的数量m大于等于哲学家的数量n时,为了让碗起到同样的限制效果,我们让碗的资源量等于n-1,这样就能保证最多只有n-1个哲学家同时进餐,所以得到碗的资源量为min{n-1,m)。在进PV操作时,碗的资源量起限制哲学家取筷子的作用,所以需要先对碗的资源量进行P操作。具体过程如下: [*]
解析
转载请注明原文地址:https://jikaoti.com/ti/lNDjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
(某系统有三个进程P1,P2,P3并发工作,其中P1执行过程中需要使用资源S3,S1;P2需要使用资源S1,S2;P3需要使用资源S2,S3。如果进程推进过程中对资源分配不加以限制,会导致什么结果,为什么?
如下图所示的AOE网,求:哪些是关键活动?
在平衡二叉树中的每个结点上增设一个Lsize域,其值为它的左子树中的结点个数加1,试写一个时间复杂度为O(10gn)的算法,确定树中第k个结点的位置。
IEEE754标准浮点数的尾数采用()机器数形式。
图的邻接表存储表示,数据元素之间的关系是()。
某计算机的(2ache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32字节,按字节编址。主存129号单元所在主存块应装入到的Cache组号是()。
请利用队列的基本操作写出判定一棵二叉树是否为完全二又树的算法。要求以二叉链表作为二叉树的存储结构。函数原型为:imIsFull_Bitree(BitreeT)。
栈S最多只能容纳4个元素,现在6个元素按A,B,C,D,E,F的顺序进栈,下列哪一个序列是可能的出栈序列()?
系统拥有一个CPU,IO1和IO2为两个不同步的输入/输出装置,它们能够同时工作,当使用CPU之后控制转向IO1、IO2时,或者使用IO1、IO2之后控制转向CPU时,由控制程序执行中断处理,但这段处理时间忽略不计。有A、B两个进程同时被创建,进程B的调度
设森林F中有三棵树,第一、第二、第三棵树的结点个数分别为N1,N2和N3。与森林F对应的二叉树根结点的右子树上的结点个数是()。
随机试题
内涂层材料的各组分搅拌应用动力设备来进行,它能够搅拌整个料罐中的物质,防止夹带过多的空气。
小机关或基层单位没有必要设立专门的公文处理工作机构来进行公文处理工作。
A.肝左叶增大,右叶缩小,肝表面不光滑,肝实质回声增强、增粗,呈网格状B.肝萎缩,肝表面不光滑,肝实质回声增强、增粗,呈结节状C.肝大,肝表面光滑,肝实质回声减弱D.肝大,肝表面光滑,肝实质回声细密、增强,深部回声减弱E.肝大,肝表面光滑,肝实质回
下列哪项不是前列腺增生手术的绝对适应证
实验流行病学研究是口腔流行病学常用的一种研究方法,现拟进行一项实验研究,在饮水中加入氟,以观察氟防龋的效果。在实验的实施过程中,一定要遵循一些必要的原则,但不包括
为什么要编写作业指导书?怎样编写?怎样管理?
甲公司的董事乙以公司财产为丙提供担保,下列说法正确的是()。
意大利建立法西斯专政的原因不包括()。
设y=y(x)二阶可导,且y’≠0,x=x(y)是y=y(x)的反函数.(1)将x=x(y)所满足的微分方程=0变换为y=y(x)所满足的微分方程;(2)求变换后的微分方程满足初始条件y(0)=0,y’(0)=的解.
There’saschooloflinguisticsthatbelieveslanguagelearningbeginswitha"silentperiod".Justasbabieslearntoproduce
最新回复
(
0
)