问答题

有 n(n≥3)位哲学家围坐在一张圆桌边,每位哲学家交替地就餐和思考。在圆桌中心有 m(m≥1)个碗, 每两位哲学家之间有 1 根筷子。每位哲学家必须取到一个碗和两侧的筷子之后,才能就餐,进餐完毕, 将碗和筷子放回原位,并继续思考。为使尽可能多的哲学家同时就餐,且防止出现死锁现象,请使用信 号量的 P、V 操作(wait()、signal()操作)描述上述过程中的互斥与同步,并说明所用信号量及初值的含义。 

【参考答案】

回顾传统的哲学家问题,假设餐桌上有 n 个哲学家、n 根筷子,那么可以用这种方法避免死锁:限制至多允许 n -1个哲学家......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题