首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
某商场开放入口自由进入,同时在唯一出口处设有收银台 、由唯一
[问答题]
某商场开放入口自由进入,同时在唯一出口处设有收银台 、由唯一的一个收银员负责收款业务。顾客在商场里面自由购 物后都须在出口收银台前排队和完成缴款手续后方可离开。请 用记录型信号量机制描述顾客在商场购物的全过程。提示:收 银员亦须给出描述。(15分)
添加笔记
邀请回答
收藏(2)
分享
纠错
3个回答
添加回答
0
推荐
zsw3
解: semaphore counter,mutex=1;用来设置互斥结账的信号量
int empty=N;
int guest=0;//初始假设超市没有人
收银员进程:
P(guest);//有人结账 收银 V(counter);//结账完毕了,顾客走了,后面排队的顾客可以结账了
顾客进程:
P(empty);
/*
来之前看看超市时不时能装得下人,若可以装下,就进入超 市购物,若装不下,在超市外面排队等待
*/
进入店内购物; V(guest);//通知收银员,我购物完毕了,打算结账走了,可以 收银了 P(counter);//结完账,放掉收银员的信号量,让其他人结账 V(empty);//离开超市了,超市的顾客容量应该+1 若是不作要求,来多少装多少,那么吧empty相关的操作删除 即可。
发表于 2018-07-18 21:10:54
回复(0)
0
牛客823380808号
链接:
https://www.nowcoder.com/questionTerminal/1c6661089f3e4c51a82bbf9f0c2dc221
来源:牛客网
解: semaphore counter,mutex=1;用来设置互斥结账的信号量
int empty=N;
int guest=0;//初始假设超市没有人
收银员进程:
P(guest);//有人结账 收银 V(counter);//结账完毕了,顾客走了,后面排队的顾客可以结账了
顾客进程:
P(empty);
/*
来之前看看超市时不时能装得下人,若可以装下,就进入超 市购物,若装不下,在超市外面排队等待
*/
进入店内购物; V(guest);//通知收银员,我购物完毕了,打算结账走了,可以 收银了 P(counter);//结完账,放掉收银员的信号量,让其他人结账 V(empty);//离开超市了,超市的顾客容量应该+1 若是不作要求,来多少装多少,那么吧empty相关的操作删除 即可。
发表于 2022-12-02 20:05:37
回复(0)
0
古罗马哥哥古巴比伦
1
发表于 2020-05-09 09:04:50
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
操作系统
上传者:
zsw3
难度:
3条回答
2收藏
1465浏览
热门推荐
相关试题
请编写实现malloc()内存分配...
微软
C++
操作系统
评论
(3)
有两个N*N的矩阵A和B,想要在P...
阿里巴巴
操作系统
评论
(38)
来自
阿里巴巴2015实习生笔试题
数据链路层滑动窗口机制中发送窗口(...
网络基础
评论
(1)
有关linux线程的描述,正确的是...
京东
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
请你说几个海量数据存储常见问题以及...
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题