- 博客(1)
- 收藏
- 关注
原创 哲学家进餐问题题解
哲学家进餐问题题解 题目描述(哲学家进餐问题) 五个科学家围着圆桌吃意面,叉子放在科学家之间的桌子上,叉子也是5个,每个科学家只有同时拿到两边的叉子才能吃面。设计并行算法,使得科学家都不会挨饿。 这道题的难点在于死锁,复习一下死锁的条件: 互斥条件 请求与保持条件 不可剥夺条件 循环等待条件 这样比如一旦所有的科学家同时拿起左边的叉子都不释放,那么所有的科学家都将无法吃面。 因此只需要设计算法破坏死锁的条件即可。 代码如下: class DiningPhilosophers { // 叉子是同时只能
2021-09-05 22:53:09 521
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人