首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有100个座位。试分别用信号量和P、V操作以及管程来实现用户进程的同步算法。
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有100个座位。试分别用信号量和P、V操作以及管程来实现用户进程的同步算法。
admin
2019-08-01
43
问题
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有100个座位。试分别用信号量和P、V操作以及管程来实现用户进程的同步算法。
选项
答案
(1)使用信号量和P、V操作: var A:array[1..100]of Rec; Rec=record number:integer: name:string; end; i:integer; for i:=1 to 100 do{A[i].number:=i;A[i].name:=null;} mutex,seatcount:semaphore; //semaphore:信号量 mutex:=1:seatcount:=100; cobegin process readeri(var readername:string)(i=1,2,…){ P(seatcount); P(mutex); for i:=1 to 100 do{ i++. if A[i].name==null then A[i].name:=readername; //读者登记 } /*必须采用这种方式,因为该空位是随机产生的。我们无法知道哪个读者何时离开*/ V(mutex) 进入阅览室,座号i,坐下读书; P(mutex): //读书完毕,需要退场 A[i]name:=null; V(mutex); V(seatcount); 离开阅览室; } coend (2)使用管程操作: TYPE readbook=monitor VAR R:condition; i,seatcount:integer; name:array[1..100]of string; DEFINE readercome,readerleave; USE check,wait,signal,release; procedure readercome(readername) begin check(IM); if seatcount≥100 wait(R,IM) seatcount:=seatcount+1: for i=1 to 100 do i++ if name[i]==null then name[i]:=readername: get the seat number=i; release(IM); end procedure readerleave(readername) begin check(IM); seatcount一一; for i=1 to 100 do i++ if name[i]==readername then name[i]:=null; release(IM); end begin seatcount:=100;name:=null; end cobegin process readeri(i=1,2.…) begin readercome(readername): read the book: readerleave(readername); leaVe the readroom: end coend
解析
转载请注明原文地址:https://kaotiyun.com/show/hjCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
西汉的主要赋税形式中,征收对象是儿童的是
比较文艺复兴时期人文主义思想和宗教改革思想的异同。
试述西欧城市兴起的原因、方式及其影响。
论述屋大维的元首政制的统治特点。
二月革命后,为俄国无产阶级革命奠定思想基础的文献是()。
概述第二帝国时期法国经济发展的特点。
西汉的主要赋税形式中,征收对象是儿童的是()。
在请求页式系统中,一程序的页面走向(访问串或引用串)为2,3,4,5,2,3,6,2,3,4,5,6,设分配给该程序的存储块数为m。试分别计算m=3和m=4时,FIFO和LRU两种替换算法的缺页(页故障)数,并给出:结果说明了什么?
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
设计一个算法求图的中心点。设v是有向图G的一个顶点,把v的偏心度定义为:MAX{从w到v的最短距离|w属于V(G))如果v是有向图G中具有的最小偏心度的顶点,则称顶点v是G的中心点。
随机试题
给定资料资料1源远流长的中国传统文化中有许多关于行为规范和道德修养的经典论述和故事,《论语·颜渊》中,子贡问孔子如何治国,孔子说要做到三点:“足食”,有足够的粮食;“足兵”,有足够的军队;“民信之矣”,还要得到百姓的信任。子贡问,如果不
Thoughthevolumeofradioactivewasteproducedbynuclearpowerplantsis________,theproblemofhowtodisposeofthatwaste
下列与X线量无关的因素是
A、由卫生行政部门给予处分,没收违法所得B、由工商行政管理部门处1万元以上20万元以下的罚款C、由卫生行政部门吊销其执业证书D、依法追究刑事责任E、依法承担赔偿责任医疗机构违反法律规定,给药品使用者造成损害的
按照我国企业会计准则的规定,下列关于合并资产负债表的抵消的表述中,正确的有()。
岗位规范的具体内容不包括()
下列表述放在“我们要学习文件”之后,可以消除这句话歧义的一项是()。
实现中华民族伟大复兴的中国梦,不仅为了中国的发展,而且也是为了对世界作出更大的贡献。中国梦是()
ADSL是一种宽带接入技术,这种技术使用的传输介质是(66)。
A、Seveno’clock.B、Seventhirty.C、Eighto’clock.D、Eightthirty.B女士说她等火车已经等了快半小时了,男士安慰她说快八点了,就要坐上火车了。两个时间一计算,即可推断出女士是七点半左右开始
最新回复
(
0
)