首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
某银行的营业厅有多个柜员窗口,可以同时办理业务。银行的营业厅中安排有n张座椅供储户休息等候。每个储户在进入营业厅时会在排队机上取得一个号码,若此前没有客户,则排队机就会唤醒一个柜员为储户服务,当没有储户时柜员便可以休息。若储户较多,则所有柜员均会参与服务,
某银行的营业厅有多个柜员窗口,可以同时办理业务。银行的营业厅中安排有n张座椅供储户休息等候。每个储户在进入营业厅时会在排队机上取得一个号码,若此前没有客户,则排队机就会唤醒一个柜员为储户服务,当没有储户时柜员便可以休息。若储户较多,则所有柜员均会参与服务,
admin
2013-07-12
42
问题
某银行的营业厅有多个柜员窗口,可以同时办理业务。银行的营业厅中安排有n张座椅供储户休息等候。每个储户在进入营业厅时会在排队机上取得一个号码,若此前没有客户,则排队机就会唤醒一个柜员为储户服务,当没有储户时柜员便可以休息。若储户较多,则所有柜员均会参与服务,当排队储户数超过柜员数时,没有被服务的储户便会在座椅上休息,并等候叫号。当座位满时,再进入营业厅的储户不再从排队机上获取号码,会离开去找另外的营业厅。若将银行的柜员和储户的行为看成是不同类型的进程,请设计一个程序,利用信号量来完成上述操作,用类C语言写出程序。
选项
答案
设信号量teller,customer和mutex,设waiting整型量,表示排队的储户数,其初始为0,最大不超过n。 #define CHAIRS=n //座椅数,也是最多排队的储户数 typedef int semaphore //定义信号量 semaphore teller:0; //等待储户的柜员数 semaphore customer=0; //等待服务的储户数 semaphore mutex=0; //对排队机操作的互斥量 int waiting=0; //等待的储户数 void teller( ) { while(TRUE) //并发调度 { P(customer); //查看有无储户 P(mutex); //需要获得排队机的控制权 waiting=wairing=1; //将等候的顾客数减1 v(teller); //提供1个可服务的柜员 v(mutex); //释放排队机 service( ): //为储户服务 } } Void customer() //储户进程 { P(mutex); //先获得排队机 if(waiting
解析
此类题目在考试中也比较多见,但是,万变不离其宗。这类题目类似的还有睡眠的理发师等。因此,掌握此类题目的基本要点是解决此类题目的关键。本题从读者和写者的基本原理出发,对等候的储户数加以限制。从资源角度看,柜员是资源,座椅也是资源。那么,设置柜员的信号量为teller,初始为0,柜员一上岗则作V操作,以提供资源。储户的信号量为customer,初始为0,表示储户尚未进入营业厅。mutex为对排队机,也是座椅的互斥量,柜员和储户均可以对此操作。
[归纳总结]注意到本题中,柜员是具有循环的。即while(TRUE)的语句,储户就没有,原因是储户是随时到达的,柜员是等候储户到来并服务的,如果将储户进程也采用并发调度,则顾客就不可能为0,这与实际情况不同,所以,在此是不需要的。
对柜员来说,当开启一个窗口即会调用一次柜员进程,所以,柜员应该一直运行,直到其下班(下班作为边界条件在此并不讨论),若多个柜员上岗,则就多次调用柜员进程,但是,排队机和座椅是不变的,柜员可能会增加,这会加快对顾客的服务,所以,实际上在营业厅里最多的顾客数应该是柜员数加上座椅数。最少当然是0。
转载请注明原文地址:https://kaotiyun.com/show/Auxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
秦代最基层的行政单位是()。
国民党政府宣布民盟为“非法团体”,民盟总部被迫解散的时间是()。
第一次世界大战后。《凡尔赛条约》规定了国际联盟管理15年的德国地区是()。
下列关于胡司战争的叙述错误的一项是()。
元代对边疆地区的统治方式不同于其他三地的一地是()。
以下选项中中原王朝对西藏管辖设置机构对应有误的一项是()。
在1956年4月提出实现马克思主义同中国实际“第二次结合”任务的是()。
1628年出版了《心血运动论》一书,论证了血液在全身的循环运动,使生理学发展为科学的是()。
以下()协议完成了从网卡到IP地址的映射。
假设Internel的两个自治系统构成的网络如题47图所示,自治系统AS1由路由器R1连接两个子网构成;自治系统As2由路由器R2、R3互联并连接3个子网构成。各子网地址、R2的接口名、Rl与R3的部分接口IP地址如题47图所示。请回答下列问题。假
随机试题
男性,67岁,生气后突然晕倒半天,急诊入院,既往有高血压病史10余年,否认肝炎史。入院后查体:神志不清,血压180/60mmHg,心率90次/分,左侧肢体肌力0级,Babinski征阳性,入院当日呕血约250ml。该患者呕血最可能的病因是
当组数等于2时,对于同一资料,方差分析结果与t检验结果的关系是
()条件特别适合于传统的“设计—招标—建造”建设履行方式。
在设计施工总承包合同中发包人是否负责提供工程材料和设备,在通用合同条款中给出两种不同供选择的条款,它们分别是()。
下列各项中,()不属于美国居民身份的界定依据。
对社会性投资建立的学生公寓,其为高校学生提供住宿服务所收取的租金收入,免征营业税。()
适当增加‘小干部’岗位,适当进行‘小干部’轮换,按民主程序选择班级干部的做法,目的是为了()。
伟大的人民教育家陶行知先生说过:“不要你的金,不要你的银,只要你的心。”即教师在教育教学中首先要()。
已知α,β是方程3x2一8x+a=0的两个非零实根,则α=2.(1)α,β的几何平均值为2(2)的算术平均值为2
Choosethecorrectanswer,A,BorC.AdbourneFilmFestivalThedeadlineforenteringafilminthecompetitionistheendof
最新回复
(
0
)