commit
6fa2eb7a1b
|
@ -434,7 +434,7 @@ void writer() {
|
|||
|
||||
<div align="center"> <img src="../pics//a9077f06-7584-4f2b-8c20-3a8e46928820.jpg"/> </div><br>
|
||||
|
||||
五个哲学家围着一张圆桌,每个哲学家面前放着食物。哲学家的生活有两种交替活动:吃饭以及思考。当一个哲学家吃饭时,需要先拿起筷子左右的两根筷子,并且一次只能拿起一根筷子。
|
||||
五个哲学家围着一张圆桌,每个哲学家面前放着食物。哲学家的生活有两种交替活动:吃饭以及思考。当一个哲学家吃饭时,需要先拿起自己左右的两根筷子,并且一次只能拿起一根筷子。
|
||||
|
||||
下面是一种错误的解法,考虑到如果所有哲学家同时拿起左手边的筷子,那么就无法拿起右手边的筷子,造成死锁。
|
||||
|
||||
|
@ -455,7 +455,7 @@ void philosopher(int i) {
|
|||
|
||||
为了防止死锁的发生,可以设置两个条件:
|
||||
|
||||
1. 必须同时拿起左右两个筷子;
|
||||
1. 必须同时拿起左右两根筷子;
|
||||
2. 只有在两个邻居都没有进餐的情况下才允许进餐。
|
||||
|
||||
```c
|
||||
|
|
Loading…
Reference in New Issue
Block a user