首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
某银行的营业厅有多个柜员窗口,可以同时办理业务。银行的营业厅中安排有n张座椅供储户休息等候。每个储户在进入营业厅时会在排队机上取得一个号码,若此前没有客户,则排队机就会唤醒一个柜员为储户服务,当没有储户时柜员便可以休息。若储户较多,则所有柜员均会参与服务,
某银行的营业厅有多个柜员窗口,可以同时办理业务。银行的营业厅中安排有n张座椅供储户休息等候。每个储户在进入营业厅时会在排队机上取得一个号码,若此前没有客户,则排队机就会唤醒一个柜员为储户服务,当没有储户时柜员便可以休息。若储户较多,则所有柜员均会参与服务,
admin
2013-07-12
71
问题
某银行的营业厅有多个柜员窗口,可以同时办理业务。银行的营业厅中安排有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://www.kaotiyun.com/show/Auxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
秦代最基层的行政单位是()。
德国法西斯能够通过合法方式夺取政权,主要原因有()。①垄断资产阶级要求建立极权统治②纳粹党利用了人民对现状的不满③骗人的宣传欺骗了社会的信任④通过国会纵火案打击了共产党
相比较而言,下列最不能代表资产阶级利益和资本主义发展方向的是()
1966年至1976年间在我国发生的全局性、长时间的“左”倾严重错误是()。
外国侵略者通过不平等条约取得的特权中,按时间先后顺序排列应是()。①外国商船和军舰可以在长江各口岸自由航行②外国人可以在通商口岸开设工厂③可在通商口岸建立教堂④领事裁判权和片面最惠国待遇
下面条约没有涉及德国的赔款问题的是()。
中国第一条自行设计修建的铁路是在()。
印度列国时代出现了16个国家,其中大部分是王国,只有少数的共和国。下列属于共和国的是()。
给定单链表的结点结构typedefstructnode*link;structnode{intitem,linknext;);将两个升序单链表归并为一个升序单链表。
某主机的MAC地址为00.15.C5.C1.5E.28,IP地址为10.2.128.100(私有地址)。题47-a图是网络拓扑,题47-b图是该主机进行Web请求的1个以太网数据帧前80B的十六进制及ASCII码内容。请参考图中的数据回答以下问题。
随机试题
简述环境的功能。
A.胰高血糖素B.胰岛素C.生长抑素D.胰多肽E.胃泌素胰岛D细胞可分泌
男,51岁。主诉肛周疼痛8天,伴畏寒发热,查肛门旁皮肤红肿,压痛明显,有波动感。首选的处理方法是
患者,男,35岁。心前区疼痛1天。既往无高血压、心脏病史。体检:血压120/80mmHg,心率63次/分,心律偶有不齐,心前区可闻及3级收缩期杂音。心电图示:Ⅱ、Ⅲ、aVF导联呈QS波,无动态变化。心动图:室间隔17mm,左室后壁11mm,左心室舒末内径3
李某系县医院内科主治医师,在执业活动中因有违反《抗菌药物临床应用管理办法》规定的情形,被医院取消了抗菌药物处方权。该情形是
ItwasMother’sDayandIwasshoppingatthelocalsupermarketwithmyfive-year-oldson,Tenyson.Aswewere【C1】______,werea
社会主义核心价值观能够居于人类社会的价值制高点,具有强大的道义力量,是因为()。
将函数展开成(x-1)的幂级数,并证明:
Theearliestcontroversiesabouttherelationshipbetweenphotographyandartcenteredonwhetherphotograph’sfidelitytoappea
WhoboughtBuckinghamHouse?
最新回复
(
0
)