文章
36
粉丝
0
获赞
0
访问
3.6k
1. 取号机只有一个,为临界资源,需要互斥信号量
2. 一个人取号,后面排队的人只能等
3. 此问题与生产者——消费者问题的不同之处是
* 生产者与消费者之间是互斥的,而此问题的营业员(服务窗口)和顾客不是互斥的
* 每一次叫号,叫到顾客i,那么顾客i就回去服务窗口办事,这时候银行的空座位数量要+1
---
```c
semaphore mutex=1, empty=10, full=0, service=0; //empty代表空座位量, mutex代表取号机互斥信号量, full代表银行已占座位的数量, service实现同步
cobegin
{
process 顾客 i
{
P(empty); //等待空座位
P(mutex); //申请使用取号机
//从取号机获取一个号码;
V(mutex); //取号完毕
V(full); //通知服务窗口有新顾客
//等待叫号
P(service);
//获取服务;
}
process 营业员
{
while(TRUE)
{
P(ful...
登录后发布评论
暂无评论,来抢沙发