首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则: (1)生产者和消费者对缓冲区的访问互斥; (2)对每1条放入缓冲区的消息,所有消费者都
有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则: (1)生产者和消费者对缓冲区的访问互斥; (2)对每1条放入缓冲区的消息,所有消费者都
admin
2013-07-12
48
问题
有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则:
(1)生产者和消费者对缓冲区的访问互斥;
(2)对每1条放入缓冲区的消息,所有消费者都必须接收1次;
(3)缓冲区满时,生产者必须阻塞,缓冲区空时,消费者阻塞。
请用信号量和P、V操作组织正确的发送和接收。用类C语言进行描述。
选项
答案
本题的解答采用分离的信号量来实现,可以比较清楚地看到操作的过程。 typedef int semaphore; //定义信号量 semaphore mutex; //缓冲区互斥信号量用于读写互斥 semaphore empty[m]={1,1,…,1}; //当前缓冲区所有格子为空 serflaphore grid[m]={0,0,…,0); //缓冲区的每个格子满的信号量 void producer( ) //生产者 {int i,buffer; while(1) //并发调度 {message:produce( ); //生产者生产消息 for(i=0,i
解析
本题是经典的生产者和消费者问题的变形。在经典的生产者和消费者的模型中,生产者和消费者共用一组缓冲区,生产者向缓冲区中写入一次数据,消费者从缓冲区中读出一次数据,即写一次,读一次。本题中,生产者向缓冲区中只写一次,但是每个消费者却都要读一次。对于此类问题,可以把缓冲区看成是m格的缓冲区阵列,这样一来,生产者每写一次缓冲区,相当于填满了一块m格的缓冲区,而消费者只需要读出属于自己格子的消息即可,当所有的格子读空以后,这个缓冲区就可以接纳下一个生产者的写入。分析清楚其工作机制,我们可以从经典的生产者和消费者问题出发,来设计相应的信号量。信号量的设计可以是信号量组,也可以采用分离的信号量来实现。
转载请注明原文地址:https://kaotiyun.com/show/nuxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
邓小平在同江泽民等谈话时提出的中国社会主义农业改革和发展的“两个飞跃”是()。
法西斯势力上台后,英国面对挑战一心推行绥靖政策。其主要目的是()。
规定了电流、电动势、电阻等概念的物理学家是()。
下列各项内容和王羲之的书法成就有关的是()。①开始把字体由隶书转化为楷书②书法代表作有《兰亭序》、《黄庭经》等③他博采众长,世称“书圣”④其子王献之书法造诣也极高,父子合称“二王”
概述人民公社运动发生的原因、错误、危害及主要教训。
被马克思称颂为“古代无产阶级的真正代表”的是()。
日本明治维新和中国戊戌变法一成一败的原因。
阅读材料,回答以下问题:材料一:甘地认为,非暴力抵抗是印度争取摆脱殖民桎梏的唯一正确办法;同时,他认为非暴力抵抗并不意味着对外国统治和其他罪恶的屈服。他写道:“我深信假如只有在怯懦和暴力两者之间加以选择时,我将劝人选择暴力……我宁愿要印度用暴力来保护自己
在下列查找的方法中,平均查找长度与结点个数n无关的查找方法是()。
设某计算机有四个中断源,优先顺序按1→2→3→4降序排列,若1、2、3、4中断源的服务程序中对应的屏蔽字分别为1110、0100、0110、1111,试写出这四个中断源的中断处理次序(按降序排列)。若四个中断源同时有中断请求,画出CPU执行程序的轨迹。
随机试题
鼻咽癌最常见的肉眼类型是
良性肿瘤的最显著的特点是
女性,61岁。心尖区听到舒张期隆隆样杂音,应考虑为
糖尿出现时,全血血糖浓度至少为
A.羟基、氨基、羟氨基B.酚羟基、胺基、巯基C.芳香羧酸、芳乙酸、杂环羧酸D.磺酰胺、氨基酸、肼和酰肼E.O–、N–、S–和C–与氨基酸的结合反应,主要参与的化学基团有()。
治疗无名肿毒、蛇咬蜂蜇、刀伤骨折及各种炎症有特效的是()。
在有几种可能解答的问题情境中,小红倾向于深思熟虑且错误较少,则他的认知方式是()。
下列哪些人员可以构成贪污罪的主体?()
在我国社会保障体系中社会保险包括的内容有( )
应用程序编写不当可能导致数据库中出现死锁,由于死锁导致的事务回滚属于数据库故障中的_______故障。
最新回复
(
0
)