首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
考虑有三个吸烟者进程和一个经销商进程的系统中,每个吸烟者连续不断地制作烟卷并将其做好的烟卷消费掉(即吸烟)。制烟和吸烟过程需要烟草、烟纸和火柴三种原料。这三个吸烟者自己分别掌握有烟草、烟纸和火柴中的一种。经销商能源源不断地提供上述三种原料,每次经销商会提供
考虑有三个吸烟者进程和一个经销商进程的系统中,每个吸烟者连续不断地制作烟卷并将其做好的烟卷消费掉(即吸烟)。制烟和吸烟过程需要烟草、烟纸和火柴三种原料。这三个吸烟者自己分别掌握有烟草、烟纸和火柴中的一种。经销商能源源不断地提供上述三种原料,每次经销商会提供
admin
2013-12-31
31
问题
考虑有三个吸烟者进程和一个经销商进程的系统中,每个吸烟者连续不断地制作烟卷并将其做好的烟卷消费掉(即吸烟)。制烟和吸烟过程需要烟草、烟纸和火柴三种原料。这三个吸烟者自己分别掌握有烟草、烟纸和火柴中的一种。经销商能源源不断地提供上述三种原料,每次经销商会提供上述三种原料中的任意两种,当某个吸烟者发现经销商提供的原料恰好是自己所需的时候,该吸烟者会取走那两种原料,与他自己拥有的原料一起,开始制烟和吸烟。经销商发现原料被取走了就会继续提供任意两种原料,如此反复。试设计一个使经销商和吸烟者同步的算法,并用C语言编写程序。
选项
答案
semaphore Stp=0; //烟草和纸的组合信号量 semaphore Spm:0; //烟纸和火柴的组合信号量 semaphore Stm=0; //烟草和火柴的组合信号量 semaphore buffer=1; //经销商用于放置原料的缓冲区信号量 main() //主程序开始 cobegin{ //并发进程示意(不要遗忘) smokert(void) //第一个拥有烟草的吸烟者的进程 while(true){ //进程被调度 P(Spm); //有烟纸和火柴吗 fatch_paper_match(); //取烟纸和火柴 V(buffer); //缓冲区可以用了 make_smoke();} //制烟和吸烟 smokerp(void) //第二个拥有烟纸的吸烟者的进程 while(true)( //进程被调度 P(Stm); //有烟草和火柴吗 fatch_tobacco_match(); //取烟草和火柴 V(buffer); //缓冲区可以用了 make_smoke();} //制烟和吸烟 smokerm(void) //第三个拥有火柴的吸烟者的进程 while(true){ //进程被调度 P(Stp); //有烟草和烟纸吗 fatch tobacco_paper(); //取烟草和烟纸 V(buffer); //缓冲区可以用了 make_smoke();} //制烟和吸烟 agency(void) //经销商供货的进程 while(true){ //进程被调度 int item; //局部变量,用于供货时货物识别 P(buffer); //缓冲区空闲吗 item:put_material(); //放置原料,item为其标识 if(item==p_m) //如果放置的是烟纸和火柴两种原料 V(Spm); //置烟纸和火柴的组合信号量 else //然而 if(item==t_m) //如果放置的是烟草和火柴两种原料 V(Stm); //置烟草和火柴的组合信号量 else //然而 V(Stp); //置烟草和烟纸的组合信号量
解析
转载请注明原文地址:https://jikaoti.com/ti/GCajFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
新中国建立后发生的一次全局性、长时间的严重“左”倾错误是()。
英法百年战争的原因和影响。
“我军第二年作战的基本任务是:举行全国性的反攻,即以主力打到外线去,将战争引向国民党统治区域,在外线大量歼敌……”正确体现这一战略方针的军事行动是()
关于荷马时代的叙述,不正确的是()。
中国共产党在抗日民主根据地实行的土地政策是()。
一战后,凡尔赛条约规定了国际联盟管理15年的德国地区是()
洋务运动中翻译出《几何原本》后九卷、《代数学》、《重学》等数学、物理方面的科技书籍的翻译家是()。
下列著作被人们称为17世纪物理学、数学的百科全书,并标志着经典力学体系的完成的是()。
图的D搜索类似于BFS,不同之处在于使用栈代替BFS中的队列,入/出队列的操作作为入/出栈的操作,即当一个顶点的所有邻接结点被搜索后,下一个搜索出发点应该是最近入栈(栈顶)的顶点。(1)用邻接表作为存储结构,写一个D搜索算法;(2)用D搜索方法
设有一个带头结点的循环单链表,其结点值均为正整数。试设计一个算法,反复找出单链表中结点值最小的结点,并输出之,然后将该结点从中删除,直到单链表空为止,最后再删除表头结点。
随机试题
注射青霉素过敏导致的过敏性休克是
(2011年国家司法考试真题)2011年7月11日,A市升湖区法院受理了黎明丽(女)诉张成功(男)离婚案。7月13日,升湖区法院向张成功送达了起诉状副本。7月18日,张成功向升湖区法院提交了答辩状,未对案件的管辖权提出异议。8月2日,张成功向升湖区法院提出
行政处罚的目的是()。
《中华人民共和国水法》于2002年8月29日经第九届全国人民代表大会常务委员会第二十九次会议通过,以中华人民共和国主席令第74号发布,自( )起施行。
下列不属于无效合同的是()
对长期股权投资采用权益法核算时,被投资企业发生的下列事项中,投资企业应该调整长期股权投资账面价值的有( )。
或有负债应在资产负债表内予以确认。()
英国是个小国,但却是吸引全球投资资金流第二多的国家。这不仅仅因为英国是世界第五大经济体,更因为很多投资人视英国为通往欧洲大陆的一扇大门。公投结果使得将来英国与欧洲国家的贸易关系_________,而整个退欧谈判过程将至少需要2年,在这一期间所造成各种不稳定
在直接标价法,汇率升降与本国货币价值的高低是()变化。(中国人民大学2012真题)
TheInternetisawayoflifeforUScollegestudents.ArecentsurveybyHarrisInteractiveand360youthfoundthat93percen
最新回复
(
0
)