首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
某银行的营业厅有多个柜员窗口,可以同时办理业务。银行的营业厅中安排有n张座椅供储户休息等候。每个储户在进入营业厅时会在排队机上取得一个号码,若此前没有客户,则排队机就会唤醒一个柜员为储户服务,当没有储户时柜员便可以休息。若储户较多,则所有柜员均会参与服务,
某银行的营业厅有多个柜员窗口,可以同时办理业务。银行的营业厅中安排有n张座椅供储户休息等候。每个储户在进入营业厅时会在排队机上取得一个号码,若此前没有客户,则排队机就会唤醒一个柜员为储户服务,当没有储户时柜员便可以休息。若储户较多,则所有柜员均会参与服务,
admin
2013-07-12
38
问题
某银行的营业厅有多个柜员窗口,可以同时办理业务。银行的营业厅中安排有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
学硕统考专业
相关试题推荐
在下列文章、文件中,为“文化大革命”的发动作了舆论准备的有()①《横扫一切牛鬼蛇神》②《评新编历史剧》③《五一六通知》④部队文艺座谈会《纪要》
曹操统一北方的关键战役是()。
“瓜步之战”发生在下列哪两个政权之间?()
在《资政新篇》中,洪仁轩提出的政治主张实际是要()。
被马克思称颂为“古代无产阶级的真正代表”的是()。
从“鲁尔危机”的发生到《道威斯计划》的实施,西方国际关系变化对当时有关国家的影响是()。①美国势力进一步向欧洲渗透②英国达到了限制法国、保持均势的目的③德国获得重建经济的有利时机④法国扩充实力争霸欧洲的计划遭重创
明清两朝已经是中国封建社会的晚期,同时也出现了许多新的社会现象,最明显的是()。
西魏实际统治者宇文泰主导的诸多改革奠定了隋唐王朝的统治基础,其中影响最大的是()
Demandpaging算法是paging算法在虚拟存储空间管理的扩展。其主要的改进是:仅当需要访问某页面时,如果它不在内存,把它调入内存。按照这个思路,将segmentation算法(段式存储管理算法)扩展到虚拟存储空间管理,也可以产生类似的算法,不妨
串行接口是指()。
随机试题
一名艾滋病患者在社区医院就医后。发现自己患病的消息被护士告诉了所在社区的居民,导致邻居们对这名患者的态度非常排斥,这名护士损害了该患者的什么权利
建筑安装工程费由直接工程费、间接工程费、计划利润和税金组成。()[2004年考题]
破解资源瓶颈约束、保护生态环境的首要之策是()
期间费用不包括()。
英译汉“Chinese Chamber for Promotion of International Trade”,正确翻译为( )。
如果允许融资融券,将有利于投资者利用衍生工具的交易进行避险和套利,提高市场效率,使得投资者进行买入现货卖空期货的买进套利成为可能。()
论述智力与知识的关系。
不同人士会对汽车有不同的认识。艺术家看到的是汽车的外形设计,经济学家看到的是汽车如何拉动经济……这体现了()。
张亮为一著名歌星,北京盛世传媒为一演出公司。双方于2010年2月15日签订了一份演出合同,约定张亮在该公司主办的“3.8”演出中演唱一个曲目,公司将于2010年3月1日预先支付给张亮演出劳务费1万元。同年2月底,张亮因一场车祸受伤住院,该公司通过向医生询问
已知随机变量X的概率密度为fX(x)=e-|x|,一∞<x<+∞,又设求(1)求x的分布函数;(2)求y的概率分布和分布函数;(3)计算p{Y>}。
最新回复
(
0
)