电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

3.哲学家进餐问题[1]


发布日期:2020/11/7
 

哲学家进餐问题(The Dining Philosophers Problem)

问题描述

(由Dijkstra首先提出并解决)个哲学家围绕一张圆桌而坐桌子上放着支筷子每两个哲学家之间放一支哲学家的动作包括思考和进餐进餐时需要同时拿起他左边和右边的两支筷子思考时则同时将两支筷子放回原处如何保证哲学家们的动作有序进行?如不出现相邻者同时要求进餐不出现有人永远拿不到筷子

The PV code Using Pascal

解法一

semaphore Fork[i]:=(i=)

begin

Thiking;

Being hangery;

P(Fork[i mod ]);

p(Fork[(i+)mod ]);

Eating;

v(Fork[i mod ]);

v(Fork[(i+)mod ]);

end

返回《操作系统之PV金典》

[] []

上一篇:操作系统:进程的基本概念[1]

下一篇:3.哲学家进餐问题[2]