首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则: (1)生产者和消费者对缓冲区的访问互斥; (2)对每1条放入缓冲区的消息,所有消费者都
有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则: (1)生产者和消费者对缓冲区的访问互斥; (2)对每1条放入缓冲区的消息,所有消费者都
admin
2012-06-26
43
问题
有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://jikaoti.com/ti/OlajFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列各项内容和王羲之的书法成就有关的是()。①开始把字体由隶书转化为楷书②书法代表作有《兰亭序》、《黄庭经》等③他博采众长,世称“书圣”④其子王献之书法造诣也极高,父子合称“二王”
周王室的两大官僚系统是()。
第二国际与第一国际特点的比较。
二战期间,下列四次战役的时间先后顺序是()①莫斯科战役②诺曼底登陆③不列颠之战④阿拉曼战役
抗日战争进入战略反攻阶段后,蒋介石集团却越来越暴露其日益腐朽的弊病,导致此种情况的根本原因在于()。
以下选项不属于希腊城邦的形成方式和途径的是()。
晚清时期清帝年号的正确排序是()
第一次国共合作采取了共产党员以个人身份加入国民党的“党内合作”方式,最早提出这种方式的是()
设计一个算法求图的中心点。设v是有向图G的一个顶点,把v的偏心度定义为:MAX{从w到v的最短距离|w属于V(G))如果v是有向图G中具有的最小偏心度的顶点,则称顶点v是G的中心点。
高度为7的AVL树最少有()个结点。
随机试题
“一对花瓶”、“你说得对”、“对子孙负责”、“对下联”四个“对”是()。
电焊安全防护用具有哪些?
某公司下属甲、乙两个分公司均为投资中心。报告期甲分公司的营业资产平均余额为120万元、营业利润为30万元;乙分公司的营业资产平均余额为80万元、营业利润为25万元。要求:(1)计算甲、乙两个分公司的投资报酬率;(2)如果同行业投资报
寄生虫病流行的三个特点是
单纯性甲状腺肿的主要原因
患者男性,60岁。镜下血尿病史三个月,本次咯血入院,临床疑诊显微镜下多血管炎。对该患者有特异性的检查是()
建筑物的哪种供暖系统高度超过50m时,宜竖向分区设置?
实行净价交易的意义有()。
行为当事人受到行政处罚的,其“旅游不文明行为记录”信息保存的期限最多为()。
以下叙述中正确的是()。
最新回复
(
0
)