问题 问答题

有一个东西方向的独木桥,如图2.13所示,每次只能有一人通过,且不允许人在桥上停留。东西两端各有若干人在等待过桥。请用P、V操作来实现东西两端的人过桥的问题。

答案

参考答案:semaphore mutex=;
main();
Cobegin
ToEast();
ToWest();
Coend
}
ToEast() {
While(1) {
P(mutex);
过桥;
V(mutex);
}
}
ToWest() {
While(1) {
P(mutex);
过桥;
V(mutex);
}
}

解析: 本题目考查进程的互斥。对于东西两端的人,独木桥是临界资源,需互斥使用。需要设置一个互斥信号量mutex,初值为1,实现对独木桥互斥访问。

单项选择题
判断题