首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
系统中有多个生产者进程和多个消费者进程,共享一个能存放1000件产品的环形缓冲区(初始为空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待;当缓冲区未空时,消费者进程可以从缓冲区取走一件产品,否则等待。要求一个消费者进程从缓冲区连续取出10
系统中有多个生产者进程和多个消费者进程,共享一个能存放1000件产品的环形缓冲区(初始为空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待;当缓冲区未空时,消费者进程可以从缓冲区取走一件产品,否则等待。要求一个消费者进程从缓冲区连续取出10
admin
2015-12-30
37
问题
系统中有多个生产者进程和多个消费者进程,共享一个能存放1000件产品的环形缓冲区(初始为空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待;当缓冲区未空时,消费者进程可以从缓冲区取走一件产品,否则等待。要求一个消费者进程从缓冲区连续取出10件产品后,其他消费者进程才可以取产品。
请使用信号量P,V(wait(),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;0,i<=10;++i){ P(full);//判断缓冲区是否有产品 P(mutex2);//互斥访问缓冲区 从缓冲区取出一件产品; V(mutex2);//互斥访问缓冲区 V(empty);//腾出一个空位 消费这件产品; } V(mutex1) } }
解析
转载请注明原文地址:https://kaotiyun.com/show/goRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
清初,负责对俄交涉等外交事务的机构是()。
二战期间,下列四次战役的时间先后顺序是()①莫斯科战役②诺曼底登陆③不列颠之战④阿拉曼战役
中共十六届五中全会提出,建设社会主义新农村的要求是生产发展和()。
对人文主义核心内容的表述,准确的是()
以下选项中中原千朝对西藏管辖设置机构对应有误的一项是()。
30年代,美国政府对一系列国际问题执行中立政策,最主要的原因是()。
概述日本古代文化的发展情况。
1916年研究短波无线电通信,为现代远距离无线电通信奠定了基础的发明家是()。
陈云作《目前财政经济的情况和克服困难的若干办法》的重要讲话,分析当前财政经济方面的主要困难,提出克服困难的六点意见的会议是()。
(1)根据无类IP地址的规则,每个网段中有两个地址是不分配的:主机号全0表示网络地址,主机号全1表示广播地址。因此8位主机号所能表示的主机数就是28-2,即254台。该网络要划分为两个子网,每个子网要120台主机,因此主机位数X应该满足下面三个条件:
随机试题
试述具体竞争者分析的主要内容。
文件名字符最长可达
大剂量阿托品可阻断:
当事人对药品检验机构的检验结果有异议、申请复验的,应当向负责复验的药品检验机构提交
关于出让土地使用权的转让,下列说法不正确的是()。
下列关于抗震设计时混凝土高层建筑多塔楼结构的表述,正确的是()。
()是商业保险中投保人与保险人约定保险权利义务关系的协议
注册会计师在分析审计的固有限制时,下列说法中正确的有()。
我国第一部集药物、食物于一体的专著是()。
求下列函数的导数:
最新回复
(
0
)