操作系统中的信号量机制PV操作,理发店问题和生产者消费者问题有何区别

[复制链接]
查看11 | 回复1 | 2011-1-10 22:54:03 | 显示全部楼层 |阅读模式
没碰到过理发店问题,我看的书里没提这个问题,百度到了下面这个。不过如果是这个问题的话,跟生产者消费者完全没区别吧……理发师是消费者,顾客是生产者……要求描述理发师和顾客的行为,因此需要两类进程Barber ()和Customer()分别描述理发师和顾客的行为。理发师和顾客之间是同步的关系,理发师和椅子是临界资源,所以顾客之间是互斥的关系。引入3个信号量和一个控制变量: 1) 控制变量waiting也用于记录等候的顾客数,实际上是customers的一份拷贝。之所以使用waiting是因为无法读取信号量的当前值,初值均为0。2)信号量customers用来记录等候理发的顾客数(不包括正在理发的顾客),并用作阻塞理发师进程,初值为0。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行