首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有100个座位。试分别用信号量和P、V操作以及管程来实现用户进程的同步算法。
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有100个座位。试分别用信号量和P、V操作以及管程来实现用户进程的同步算法。
admin
2019-08-01
598
问题
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有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]==reademame then name[i]:=null; release(IM); end begin seatcount:=100;name:=null: end cobegm process readeri(i=1,2.…) begin readercome(readername) : read the book. readerleave(readername): leave the readroom end coend
解析
转载请注明原文地址:https://kaotiyun.com/show/y3Ci777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列各组古代民族,其语言都属于印欧语系的是()。
对1929—1933年的世界经济危机的特点,表述不正确的是()。
试析地理大发现的背景及其在世界历史上的影响。
抗战时期,国民政府一直没有放弃适当条件的对日妥协,于是,中日之间开始秘密接触,日本称之为()
戊戌政变发生的时间是()。
二战后世界经济走向统一的过程中,仍然存在着多样性,出现了“两种体系、三种国家”,下列不属于社会主义国家经济类型的是()。
三国时期,魏、蜀、吴三国灭亡的历史顺序是()。
新中国院系调整主要是学习()。
某工厂有一个仓库可以存放甲、乙两种零部件,甲零件可以存放m件,乙零件可以存放n件,车间A专门生产甲零件,每次1件,每生产1件存放进仓库1件;车间B专门生产零件乙,每次1件,每生产1件存放进仓库1件。总装车间每次从仓库取出2件甲零件、1件乙零件组装成成品,车
随机试题
β2受体
平滑或软组织算法不用于显示
A.黏液血便B.大便的次数和便血程度C.腹痛程度D.腹胀E.肠外表现溃疡性结肠炎活动期的重要表现是
患者低热,午后热甚,胸闷脘痞,不思饮食,渴不欲饮,呕恶,大便稀薄,舌苔黄腻,脉濡数。其证候是
A.三拗汤B.都气丸C.大青龙汤D.麻杏石甘汤合苏葶丸E.小青龙汤合三子养亲汤治疗热性哮喘的首选方剂是
卡介苗预防接种,进针角度为
脑灌注压是指
下列各项中,关于交易性金融资产表述不正确的是()。(2012年改编)
Hedidn’tfeellike______,sohetookataxi.
MostscholarsagreethatIsaacNewton,whileformulatingthelawsofforceandgravityandinventingthecalculusinthelate16
最新回复
(
0
)