Process 使用资源层次解决方案解决问题

Process 使用资源层次解决方案解决问题,process,resources,operating-system,solution,dining-philosopher,Process,Resources,Operating System,Solution,Dining Philosopher,所以这个解决方案的问题,正如我所理解的,是它太耗时了。在和上,假设哲学家1有两个叉子3和5。但现在他也需要叉子2,所以他先放下叉子3和叉子5,然后分别拿起叉子2、叉子3和叉子5。现在,在我们这个例子的框架中,如果一个哲学家只需要两个叉子吃饭,为什么他会同时需要三个叉子呢?还是我一路上误解了什么 在这两个文本中,哪一个文本表明哲学家需要三个叉子?“例如,如果一个工作单元拥有资源3和5,然后确定它需要资源2,那么它必须先释放5,然后在获得2之前释放3,然后它必须按照这个顺序重新获得3和5。”我认为这

所以这个解决方案的问题,正如我所理解的,是它太耗时了。在和上,假设哲学家1有两个叉子3和5。但现在他也需要叉子2,所以他先放下叉子3和叉子5,然后分别拿起叉子2、叉子3和叉子5。现在,在我们这个例子的框架中,如果一个哲学家只需要两个叉子吃饭,为什么他会同时需要三个叉子呢?还是我一路上误解了什么

在这两个文本中,哪一个文本表明哲学家需要三个叉子?“例如,如果一个工作单元拥有资源3和5,然后确定它需要资源2,那么它必须先释放5,然后在获得2之前释放3,然后它必须按照这个顺序重新获得3和5。”我认为这就是这里所暗示的。“很酷,资源层次结构避免了死锁!但是速度很慢。假设你有叉子3和5。然后你决定你需要叉子2。嗯,叉子3和5是较大的数字。所以你必须:放下叉子#5放下叉子#3(你放下这些东西的顺序无关紧要)拿起叉子#2拿起叉子#3拿起叉子#5“在最后一句话中,他捡起了叉子2、3和5,没有掉任何东西。所以我假设他现在拥有三个叉子。维基百科的文章提到的是资源而不是叉子,所以我认为可以安全地假设它们不是指哲学家就餐的例子(而是数据库等其他场景)。adit.io的文章似乎提到了三把叉子,但这似乎是一个糟糕的措辞选择,因为在哲学家进餐的场景中,哲学家只需要两把叉子就可以吃了。同样,我认为他们是在暗示更大的问题需要更复杂的解决方案,当“资源”是更好的选择时,他们使用了“分叉”这个词。