首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有100个座位。试分别用信号量和P、V操作以及管程来实现用户进程的同步算法。
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有100个座位。试分别用信号量和P、V操作以及管程来实现用户进程的同步算法。
admin
2019-01-16
32
问题
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有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 readereome(readername) began check(IM): if seatcount≥1100 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 t0 100 do i++ if name[i]==readername then name[i]:=null: release(IM): end begin seatcount:=100;name:=null: end eobegin process readeri(1=1,2.…) begm readercome(readername); read the book: readerleave(readername): leave the readroom; end coend
解析
转载请注明原文地址:https://kaotiyun.com/show/pYRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
民族区域自治制度是在国家的统一领导下,在()实行民族区域自治,设立自治机关,行使自治制度。
论述秦国商鞅变法的内容、过程以及重要意义。
两汉时期,下列没有通过丝绸之路传入西方的技术是()。
第一次鸦片战争、第二次鸦片战争的时间,分别对应于法国的()时期和()时期。
下列关于《凡尔赛和约》的说法,全部错误的是()。①《凡尔赛和约》中不许德国设防区是莱茵河西岸50公里以内区域②《凡尔赛和约》中,战胜国处置德国的全部海外殖民地的方式是“托管制”③和约有关德国疆界问题,把原属波兰的领上基本上归还波兰④
试析第三次科学技术革命对人类社会和历史进程的影响。
下列有关《布列斯特和约》的说法中,错误的一项是()。
阅读下面史料,回答问题:材料一各缔约国主力舰替换总吨位按照标准排水量计算不得超过如下:合众国525000吨;英帝国525000吨;法国175000吨;意大利175000吨;日本315000吨。
经六朝时期的发展,南方形成了三个农业发达地区即()。
下列几种排序方法中,要求内存量最大的是()。
随机试题
对于环枕融合MRI检查不易显示
A.核B.瓤C.枝梗D.头尾足翅E.残肉枳壳应除去的非药用部位是
绝对渗透率仅反映岩石本身允许流体通过的能力,与流体的性质无关。()
一台显示器中R、G、B分别用3位2进制数来表示,那么可以有______种不同的颜色。
关于细胞膜的结构描述哪一个是不正确的
在精神分析疗法中,要求病人无拘无束地说出他想到的一切事情,此种作法称为
沥青路面养护措施包括病害处治技术、功能性罩面技术、结构性补强技术和()。
计算VaR值的参数选择应注意的有()。
教育社会化就是教育对象的全民化。()
TheparticularsymbolicsignificanceofthecavepaintingsinsouthwesternFranceismoreexplicitlyrevealed,perhaps,byther
最新回复
(
0
)