[求助]计算机操作系统PV原语问题
超市可以容纳500人同时购物,有6扇可供出入的门,即既可进又可出,每扇门只允许1个人通过。使用PV操作及信号量描述进入和离开该超市的算法,使得超市的购物容量得到最大发挥。
超市可以容纳500人同时购物,有6扇可供出入的门,即既可进又可出,每扇门只允许1个人通过。使用PV操作及信号量描述进入和离开该超市的算法,使得超市的购物容量得到最大发挥。
count:semaphore:=500;
door:semaphore:=6;
进入超市进程:
begin
p(count);
p(door);
进入超市;
v(door);
end
离开超市进程:
begin
p(door);
离开超市;
v(door);
v(count);
end
不对哈. .
因为进的时候还要判断有出的没有
如果在出 就不能进
所以在进入的时候 不但要判断有没有人在进 还要判断有出的没有,
还有就是PV操作是成对出现
所以我认为有三个判断 ,
如进入的时候 先判断超市人满没有, 在判断有没有人正在进,在判断有没有人在出,
出去也差不多.