问答题

著名的“哲学家就餐问题”是指:五位哲学家围圆桌就座,桌上每二人之间放一根筷子,任一位哲学家修学中饿了便可且只能拿起左右两边的筷子吃饭,餐后将两根筷子各放回原处,自己也继续做学问,如此往复,即对哲学家Pi(i=0,1,2,3,4)有循环进程Si:
Pi做学问;
Pi取左手的i号筷子和右手的(i+1)rood 5号筷子;
Pi就餐;
Pi将两根筷子分放回原处;
哲学家就餐问题是这样5个进程组成的系统。
将上述情况之一编写程序。

【参考答案】

下面将资源顺序分配法在这里简单地实现一下:
5根筷子顺序编号为0、1、2、3、4;定义信号量组chopstic......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)