本节中,允许索向右边索要叉子的写法,当右边叉子不能转让时,是不是应该把左叉子也先放回去?
来源:5-15 高阶并发编程Coding训练:N种优化哲学家就餐问题的方法(3)

Martin_zyt
2021-11-22
老师,当右边叉子不能转让时,释放锁,重新循环前,要把刚拿的左叉子放回去不?要不然重新循环后判断左叉子是否可取时会一直通不过。我这边写demo时不放回左叉子确实会出现卡住的情况,不知道老师视频中运行为何正常的,是我哪里没有考虑到?
写回答
1回答
-
不用刻意放叉子了, 你思考这个逻辑,假如所有人都拿了叉子,那么可以通过转让逻辑,让一部分人吃面。
012021-11-22
相似问题