以下の解決策がクリティカルセクション問題の解決基準を満たさないのはなぜですか?
3つの状況のうち、満足できないのはどれ?
1. 相互排除
2. 進歩
3. 限界待ち
相互排除を満たしていることはわかっていますが、2 & 3 はどうでしょうか。
宿題ではありませんのでご注意ください。いろいろ考えましたがまだはっきりしません。
[編集]
画像を削除し、コードを追加しました。
Pi’s Algorithm
Var flag : array [ i…j] of boolean
repeat
flag [i] = true;
While ( flag [j] == “ true ”) do no-op;
Critical section
Flag [i]=“ false ”;
until false
別のプロセス
Pj’s Algorithm
Var flag : array [ i…j] of boolean
repeat
flag [ j ] = true;
While ( flag [ i ] == “ true ”) do no-op;
Critical section
Flag [j]=“ false ”;
until false