gpt4 book ai didi

c - 餐饮哲学家的变化

转载 作者:可可西里 更新时间:2023-11-01 11:49:18 25 4
gpt4 key购买 nike

<分区>

这是一道作业题,我做错了。我真的很想了解这个问题的解决方案。原始代码状态:

图 2-46 中的解决方案是无死锁的,并且允许任意数量的哲学家实现最大并行度。它使用一个数组 state 来跟踪哲学家是在吃饭、思考还是饥饿(试图获得 fork )。如果邻居都不吃,哲学家只能进入进食状态。哲学家 i 的邻居由宏 LEFT 和 RIGHT 定义。换句话说,如果 i 为 2,则 LEFT 为 1,RIGHT 为 3。该程序使用一组信号量,每个哲学家一个,因此如果所需的 fork 忙,饥饿的哲学家可以阻止。

enter image description here

问题:考虑图 2-46 中的过程 put_forks。假设变量 state[i] 在两次调用 test 之后被设置为 THINKING,而不是之前。此更改将如何影响解决方案?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com