首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。Pl每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中:P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。Pl每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中:P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
admin
2013-04-26
108
问题
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。Pl每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中:P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义信号量的含义。要求用伪代码描述。
选项
答案
定义信号量odd控制P1与P2之间的同步;even控制P1与P3之间的同步;empty控制生产者与消费者之间的同步;mutex控制进程间互斥使用缓冲区。程序如下: semaphore odd=0 I even=0 r empty=N r mutex=1; P1( ) { x=produce(); //生成一个数 P(empty); //50断缓冲区是否有空单元 P(mutex); //缓冲区是否被占用 Put(); V(mutex); //释放缓冲区 if(x%2==0) V(even); //如果是偶数,向P3发出信号 else V(odd); //如果是奇数,向P2发出信号 } P2() f P(odd); //收到P1发来的信号,已产生一个奇数 P(mutex), //缓冲区是否被占用 getodd(); V(mutex); //释放缓冲区 V(empty); //向p1发信号,多出一个空单元 countodd(), } P3() { P(even), //收到P1发来的信号,已产生一个偶数 P(mutext); //缓冲区是否被占用 geteven(), V(mutex); //释放缓冲区 V(empty), //向P1发信号,多出一个空单元 counteven(); }
解析
转载请注明原文地址:https://www.kaotiyun.com/show/3wxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
近代中国第一个系统介绍西方思想与文化名著的翻译家和启蒙思想家是()。
下列各项不是“南北议和”形成的原因的是()。
林则徐的反英国侵略的策略思想不包括()。
下列叙述正确的是()。
下列关于王政时代后期的叙述,不正确的是()。
苏州的踹工、织工、纸工、烛业工人,景德镇的陶瓷工、门头沟的煤矿工、北京的香工,云南的矿工、广州的织工、陕西的木工和铁工等,均爆发过反对雇主克扣工价、开除工匠和要求增加工银的()斗争。
周王室的两大官僚系统是()。
以北宋三大发明为例简述北宋科学技术的特征。
匈牙利社会主义革命中,之所以能顺利建立苏维埃社会主义共和国的主要原因是()。
阅读下列材料,结合所学知识回答问题:材料一16—17世纪西欧医生的地位还很低,尽管主要的宫廷医生有很高的经济收入,但医生并不被认为是一个很光荣的职业,直到17世纪中叶,一位绅士还拒绝同一位有钱的医生的女儿结婚。律师职业虽然不被视为低等,
随机试题
公诉意见书正文应写明哪些内容?
SPC的基本工具是()
有预定目的,不需要意志努力的注意是()
影响酶促反应速度的因素不包括
男性,45岁,右上腹隐痛伴低热一周,2h前T床后突发头晕,面色苍白,既往有胃病及乙肝史。体检:脉搏120次/分,血压10.5/7kPa(79/53mmHg),腹胀,全腹压痛,以右上腹为甚。实验室检查:血红蛋白75g/乙白细胞12.5×109/L,中性粒85
我国目前发现最早的一部医学文献是
70号道路石油沥青的密度试验结果如下,针对沥青密度试验回答下列问题:沥青密度试验结果有误的是()。
项目法人应负责督促和检查遗留问题的处理,及时将处理结果报告()。
一立体图形如下图所示从中挖掉一个类圆柱体,然后从任意面剖开,下面哪一项不是该立体图形的截面?
(2013上集管)甲公司与乙公司订立了一份总货款额为20万元的设备供货合同。合同约定的违约金为货款总额总值的10%。同时,甲公司向乙公司给付定金5000元。后乙公司违约,给甲公司造成损失2万元。乙公司依法向甲公司支付违约金______万元。
最新回复
(
0
)