【发布时间】:2010-10-26 01:43:00
【问题描述】:
最近我读到 this Wikipedia article 关于餐饮哲学家的问题,但我不清楚 Chandy / Misra 的解决方案。
根据文章,“当一个有叉子的哲学家收到请求消息时,如果叉子是干净的,他会保留叉子,如果叉子脏了就放弃。”在这个问题的上下文中,如果他正在吃东西,他会通过它,如果他还没有开始吃东西,他会保留它。
根据场景,Dirty是什么意思?线程正在运行还是已经退出?
【问题讨论】:
-
我猜这意味着它已经完成了运行。或者哲学家已经吃完了自己的饭,因此叉子很脏。
标签: multithreading concurrency dining-philosopher