首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有100个座位。试分别用信号量和P、V操作以及管程来实现用户进程的同步算法。
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有100个座位。试分别用信号量和P、V操作以及管程来实现用户进程的同步算法。
admin
2019-08-01
39
问题
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有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
学硕统考专业
相关试题推荐
比较文艺复兴时期人文主义思想和宗教改革思想的异同。
赋税是我国古代国家宏观管理经济的重要手段。 据此回答问题:明朝推行一条鞭法中“一”的内容是()
关于垄断组织的积极作用,不正确的说法是()。
最早以立法的形式巩固大化改新成果的法令是()。
关于德国工业革命,说法不正确的是()。
某激光打印机每分钟打印20页,每页4000字符,相应的设备驱动程序一次输出一个字符,采用中断方式,CPU处理每次中断需50微秒,则CPU用于打印的开销是()。
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
设计一个算法,求无向图G(采用邻接表存储)的连通分量个数。
某机字长32位,它的存储容量为256MB,按字节编址,则它的寻址范围大小为()。
请利用队列的基本操作写出判定一棵二叉树是否为完全二叉树的算法。要求以二叉链表作为二叉树的存储结构。函数原型为:intIsFull_Bitree(BitreeT)。
随机试题
试述两税法的作用。
函数y=10x-1-2的反函数是()
A.月经黄体细胞B.妊娠黄体细胞C.胚泡滋养层细胞D.胎盘绒毛合体滋养层细胞妊娠10周前,血中孕激素是来自
A、肺结核B、肾移植C、克雷氏(colles)骨折石膏固定后D、中风恢复期E、断肢再植家庭病床的收治对象为
下列哪项不是肘关节脱位的临床特征()
下列选项中,能够培养学生发散性、创造性思维等思维能力和实践能力的学习方式是()。
(复旦大学2017)下表是股票基金5年来超过无风险收益率的年收益率情况,公牛基金收益率的标准差为21.24%,独角兽基金收益率的标准差为14.85%。(清华大学2017年)假设有一个投资者的效用方程U=E(r)-0.015σ2,将以上任一基金与无风险
A、Marketing.B、Finance.C、Production.D、HumanResources.AInwhichdepartmentisthewomanlikelytowork?推理判断题。女士回答说对市场营销很感兴趣,
IsHigherEducationaBubble?MycolleagueatDemocracyinAmericadrawsattentiontoanongoingdebateoverthenatureofh
Studiesoffriendshipseemtoimplicatemorecomplexfactors.Forexample,onefunctionfriend-shipseemstofulfillis【C1】____
最新回复
(
0
)