auto commit
This commit is contained in:
parent
86ed7a4f40
commit
ce51dccfc6
|
@ -485,7 +485,7 @@ void writer() {
|
|||
|
||||
<div align="center"> <img src="../pics//a9077f06-7584-4f2b-8c20-3a8e46928820.jpg"/> </div><br>
|
||||
|
||||
五个哲学家围着一张圆周,每个哲学家面前放着饭。哲学家的生活有两种交替活动:吃饭以及思考。当一个哲学家吃饭时,需要先一根一根拿起左右两边的筷子。
|
||||
五个哲学家围着一张圆桌,每个哲学家面前放着饭。哲学家的生活有两种交替活动:吃饭以及思考。当一个哲学家吃饭时,需要先一根一根拿起左右两边的筷子。
|
||||
|
||||
下面是一种错误的解法,考虑到如果每个哲学家同时拿起左手边的筷子,那么就无法拿起右手边的筷子,造成死锁。
|
||||
|
||||
|
@ -623,7 +623,7 @@ void philosopher(int i) {
|
|||
|
||||
1. 寻找一个没有标记的进程 P<sub>i</sub>,它所请求的资源小于等于 A。
|
||||
2. 如果找到了这样一个进程,那么将 C 矩阵的第 i 行向量加到 A 中,标记该进程,并转回 1。
|
||||
3. 如果有没有这样一个进程,算法终止。
|
||||
3. 如果没有这样一个进程,算法终止。
|
||||
|
||||
可以看到,死锁检测和银行家算法中判断是否为安全状态的方法类似。
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user