场景: 原版的故事里有五个哲学家(不过我们写的程序可以有N个哲学家),这些哲学家们只做两件事--思考和吃饭,他们思考的时候不需要任何共享资源,但是吃饭的时候就必须使用餐具,而餐桌上的餐具是有限的,原版的故事里,餐具是叉子,吃饭的时候要用两把叉子把面条从碗里捞出来.很显然把叉子换成筷子会更合理,所以:一个哲学家需要两根筷子才能吃饭. 现在引入问题的关键:这些哲学家很穷,只买得起五根筷子.他们坐成一圈,两个人的中间放一根筷子.哲学家吃饭的时候必须同时得到左手边和右手边的筷子.如果他身边的任何一位正在…