首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则: (1)生产者和消费者对缓冲区的访问互斥; (2)对每1条放入缓冲区的消息,所有消费者都
有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则: (1)生产者和消费者对缓冲区的访问互斥; (2)对每1条放入缓冲区的消息,所有消费者都
admin
2012-06-26
41
问题
有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则:
(1)生产者和消费者对缓冲区的访问互斥;
(2)对每1条放入缓冲区的消息,所有消费者都必须接收1次;
(3)缓冲区满时,生产者必须阻塞,缓冲区空时,消费者阻塞。
请用信号量和P、V操作组织正确的发送和接收。用类C语言进行描述。
选项
答案
本题的解答采用分离的信号量来实现,可以比较清楚地看到操作的过程。 typedef int semaphorle; //定义信号量 semaphore mutex; //缓冲区互斥信号量用于读写互斥 semaphore empty[m]={1,1…,1}; //当前缓冲区所有格子为空 semaphore grid[m]={0,0…,0}; //缓冲区的每个格子满的信号量 void producer() //生产者 {int i,buffer; while(1) //并发调度 { message=produce(); //生产者生产消息 for(i=0,i
解析
本题是经典的生产者和消费者问题的变形。在经典的生产者和消费者的模型中,生产者和消费者共用一组缓冲区,生产者向缓冲区中写入一次数据,消费者从缓冲区中读出一次数据,即写一次,读一次。本题中,生产者向缓冲区中只写一次,但是每个消费者却都要读一次。对于此类问题,可以把缓冲区看成是m格的缓冲区阵列,这样一来,生产者每写一次缓冲区,相当于填满了一块m格的缓冲区,而消费者只需要读出属于自己格子的消息即可,当所有的格子读空以后,这个缓冲区就可以接纳下一个生产者的写入。分析清楚其工作机制,我们可以从经典的生产者和消费者问题出发,来设计相应的信号量。信号量的设计可以是信号量组,也可以采用分离的信号量来实现。
转载请注明原文地址:https://kaotiyun.com/show/hyxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
()发现储藏粮食的窑穴达80多座,表明当时的农业生产水平已脱离原始的阶段。
下列对西汉察举制度的评述,错误的是()
简述戴高乐独立自主外交政策产生的背景、内容和意义。
我国第一部系统的史学理论著作是()。
北魏建立和统一的时间分别是()。
1948年,南斯拉夫对从苏联照搬来的“行政命令式的国家集权式”体制进行改革逐步形成有自己特色的建设社会主义的理论和方法,其核心是()。
战时共产主义政策中对后来的工农联盟最能构成威胁的是()。
明清两朝已经是中国封建社会的晚期,同时也出现了许多新的社会现象,最明显的是()。
阅读史料,回答以下问题:重庆中央党部,暨中央执监委员诸同志均鉴:今年4月,临时全国代表大会宣言,说明此次抗战之原因,曰:“自塘沽协定以来,吾人所以忍辱负重与倭国周旋,无非欲停止军事行动,采用和平方法,先谋北方各省之保全,再进而谋东北四省问题之合
一棵:BS’r树共7个结点,值分别为1、2、3、4、5、6、7,形态为满二叉树,()不是插入序列。
随机试题
(profound)Itisnotpossibletowriteapagewithoutexperiencingpositivepleasureattherichnessandvariety,theflexibilit
子痫发生抽搐后,应注意及早发现心衰、脑出血、肺水肿、HELLP综合征、肾衰竭、弥散性血管内凝血等并发症。()
痫证患者,发作时昏仆抽搐吐涎,或有叫吼,平日情绪急躁,心烦失眠,咯痰不爽,口苦而干,便秘,舌红苔黄腻,脉弦滑数。治法为
A.大黄根茎B.生大黄片C.酒大黄D.熟大黄E.大黄炭红棕色或黄棕色
患者,女,36岁,近半年来总是心烦意乱,坐卧不宁,似乎全世界的重担都压在她身上,明知是主观过虑却不能自控,难以安心工作,颇感苦恼而就诊。目前辅以药物治疗,护士告知她该药见效慢,服药后需耐心等待症状缓解,该药是
()是相对彻底分权的组织形式。
Word中________为文档提供了预定格式。
语言理解的最高水平是()。
下列关于命令DOFORMXXNAMEYYLINKED的陈述中,正确的是( )。
A、Becauseheisasuperman.B、Becausehecatchestheupdraftofaairventneartheground.C、BecauseheisprotectedbyGod.D、
最新回复
(
0
)