Oracle® Solaris Studio 12.4:线程分析器用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

哲学家就餐方案

哲学家就餐方案是一个结构如下的经典方案。编号从 0 到 4 的五位哲学家坐在圆桌旁思考。随着时间的推移,每个人开始饥饿并决定进餐。餐桌上有一盘面条,但是每位哲学家只有一根筷子可用。为了吃到面条,他们必须共用筷子。每位哲学家右边(他们面向餐桌而坐)的筷子的编号与该哲学家的编号相同。

图 3-1  哲学家就餐

image:显示哲学家和他们的筷子处于环状结构的一个图。

每位哲学家首先拿到与自己编号相同的筷子。他拿到分配给自己的筷子后,他将去拿分配给邻座的筷子。拿到两根筷子后,他就可以进餐了。吃完后,他将筷子放回桌上的原来位置,一边一根。该过程一直重复,直到把面条吃完。