在哲学家就餐问题中 如果将先拿起左边的筷子的哲学家称为左撇子 而将先拿起右边的筷子的哲学家称
哲学家,筷子,左撇子
已帮助 人
在哲学家就餐问题中,如果将先拿起左边的筷子的哲学家称为左撇子,而将先拿起右边的筷子的哲学家称为右撇子,请说明在同时存在左撇子和右撇子的情况下,任何就座安排都不会产生死锁。
请帮忙给出正确答案和分析,谢谢!
-
正确答案:对于本题死锁产生的必要条件——“循环等待”不可能成立。如果存在所有左边的哲学家等待右边的哲学家放下筷子的循环等待链则每个哲学家肯定已获得左边的筷子但还没有得到右边的筷子这与存在右撇子的情况不符;同样地也不可能存在相反的循环等待链而且系统中也不可能存在五个以下哲学家的循环等待链(因为不相邻的哲学家之间不竞争资源)。因此不可能产生死锁。
这类题目的关键是必须证明产生死锁的四个必要奈件的其中一个不可能成立。在本题中,互斥条件、请求与保持条件、不剥夺条件是肯定成立的,因此必须证明“循环等待”条件不成立。
