首页 > 试题广场 >

请添加必要的信号量和P、 V操作,以实现上述过程中的互斥与同

[问答题]

某博物馆最多可容纳 500 人同时参观, 有一个出入口,该出入口一次仅允许一个人通过。 参观者的活动描述如下:

参观者进程i: 
{ … 
进门; 
… 
参观; 
… 
出门; 
… 
} 

请添加必要的信号量和P、 V(或 wait()、 signal())操作,以实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。

定义两个信号量

Semaphore empty = 500; / / 博物馆可以容纳的最多人数
Semaphore mutex = 1; / / 用于出入口资源的控制 
cobegin
参观者进程i;
{

P ( empty );
P ( mutex );
进门;
V( mutex );
参观;
P ( mutex );
出门;
V( mutex );
V( empty );

… 
}
发表于 2016-11-19 17:02:57 回复(0)