首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
系统中有多个生产者进程和多个消费者进程,共享一个能存放1000件产品的环形缓冲区(初始为空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待;当缓冲区未空时,消费者进程可以从缓冲区取走一件产品,否则等待。要求一个消费者进程从缓冲区连续取出10
系统中有多个生产者进程和多个消费者进程,共享一个能存放1000件产品的环形缓冲区(初始为空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待;当缓冲区未空时,消费者进程可以从缓冲区取走一件产品,否则等待。要求一个消费者进程从缓冲区连续取出10
admin
2015-12-30
58
问题
系统中有多个生产者进程和多个消费者进程,共享一个能存放1000件产品的环形缓冲区(初始为空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待;当缓冲区未空时,消费者进程可以从缓冲区取走一件产品,否则等待。要求一个消费者进程从缓冲区连续取出10件产品后,其他消费者进程才可以取产品。请使用信号量P,V(或waitt(),signal()操作实现进程间的互斥与同步,要求写出完整的过程,并说明所用信号量的含义和初值。
选项
答案
这是典型的生产者和消费者问题,只对典型问题加了一个条件,只需在标准模型上新加一个信号量,即可完成指定要求。 设置四个变量mutex1、mutex2、empty和full,mutex1用于一个控制一个消费者进程一个周期(10次)内对于缓冲区的控制,初值为1,mutex2用于进程单次互斥的访问缓冲区,初值为1,empty代表缓冲区的空位数,初值为0,full代表缓冲区的产品数,初值为1000,具体进程的描述如下: semaphore mutex1=1; semaphore mutex2=1, semaphore empty=n; semaphore full=0; producer(){ while(1){ 生产一个产品; P(empty);//判断缓冲区是否有空位 P(mutex2);//互斥访问缓冲区 把产品放入缓冲区; V(mutex2),//互斥访问缓冲区 V(full);//产品的数量加1 } } consumer()( while(1){ P(mutex1)//连续取10次 for(int i=0;i<=10;++i){ P(full);//判断缓冲区是否有产品 P(mutex2);//互斥访问缓冲区 从缓冲区取出一件产品; V(mutex2);//互斥访问缓冲区 V(empty);//腾出一个空位 消费这件产品; } V(mutex1) } }
解析
转载请注明原文地址:https://www.kaotiyun.com/show/sbRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
我国第一部系统的史学理论著作是()。
欧洲历史上第一部系统完备的法典是()。
1628年出版了《心血运动论》一书,论证了血液在全身的循环运动,使生理学发展为科学的是()。
新中国建立初期,在工矿企业中进行的民主改革和生产改革,主要是为了()
系统总结了6世纪以前黄河中下游地区农牧业生产经验的著作是()。
()不属于区域经济集团。
试结合新民主主义革命不同历史时期的历史实际,阐述中国共产党在处理同资产阶级复杂关系问题上的做法、结果及其历史经验。
1628年出版了《心血运动论》一书,论证了血液在全身的循环运动,使生理学发展为科学的是()。
林则徐主持编译的《四洲志》,介绍了世界各国的史地。鸦片战争后,主要以《四洲志》为基础成书的重要著作是()
阅读下面史料,回答问题:材料一各缔约国主力舰替换总吨位按照标准排水量计算不得超过如下:合众国525000吨;英帝国525000吨;法国175000吨;意大利175000吨;日本315000吨。
随机试题
提出管理具有计划、组织、指挥、协调、控制五个要素的管理学家是()。
超声成像的叙述,错误的是
试戴烤瓷牙时,对瓷部分的调节要用钨铜磨头等带有金属的磨头调改,不要用碳化硅磨头修改。()
某烟花爆竹生产企业根据节庆到来前,市场需要旺盛进行产能扩建,依据《建设项目安全设施“三同时”监督管理办法》(国家安全生产监督管理总局令第36号公布,2015年修改),在该企业建设项目试运行完成后,对该扩建项目进行的安全评价是()。
为做好施工成本管理工作,必须做好()等方面工作。
A公司和B公司的关系为( )。A公司应补缴的增值税额为( )。
履行出资人职责的机构进行的下列行为,不符合法律规定的是()。
在金本位制度下,汇率的波动界限大致是()。
试论单位犯罪的要件及处罚。
2006年3月20日,新华社报道,国务院印发了
最新回复
(
0
)