举个经典的哲学家就餐的例子来说楼上的解释 5个哲学家在围坐一张圆桌,做两件事,吃意大利面和思考,并且两件事不能同时做。想假设每两个哲学家之间有一把叉子,由于吃意大利面用一把叉子很难办到,所以需要同时拿起左右两边的叉子才能吃意大利面,作为哲学家他们互不交流,不会把叉子给其他人,也不会从其他人那里抢叉子,也就是说他会等他旁边的人吃完他,他才会拿到第二把叉子。现在如果每个哲学家手里只有一把叉子,他们就只能互相等待,思索也就产生了。
互斥条件:一个叉子只能被哲学家使用
请求与保持:哲学家拿着一只叉子的时候会等待另一只叉子。
不剥夺条件:哲学家很有礼貌,不会抢其他人的叉子。
循环等待:每个哲学家手里拿着叉子会等待另一把叉子。 |