问题 问答题

有一阅览室,读者进入时必须先在一张登记表上登记。该表中每个表项代表阅览室中的一个座位。读者离开时要消掉其登记信息。阅览室共有50个座位。登记表每次仅允许一位读者进行登记或注销。若阅览室人员已满,则在阅览室外等待,直至有空位再登记进入。试用P、V操作,描述读者行为。

答案

参考答案:设同步信号量empty,表示图书馆是否还有空座位可坐,初值为50。
设互斥信号量mutex,表示互斥的访问登记表,初值为1;
读者:
Whne(True)
{P(empty);
P(mutex);
在登记表上登记自己的内容。
V(mutex);
进入阅览室读书;
P(mutex);
在登记表中删除自己的登记项;
V(mutex):
V(empty);

多项选择题
判断题