H31 午後一 問3 設問4 (3)について別解ありますか
きつねうどんさん
(No.1)
H31 午後一 問3 設問4はデッドロックを起こす可能性のある箇所を答えよという問題で解答例が P4 , P9 となっていますが、 P2, P4 もデッドロックを起こすような気がしています。
P2, P4 も正解ですかね?
P2, P4 も正解ですかね?
2025.09.21 11:33
himaさん
(No.2)
問題を見てきました。
例えば製品AXの場合だと
手順1でP1・P4・P9の所要数を調べる
手順2でP1・P4・P9の行に専有ロックをかけて更新する
手順3でP2・P9の所要数を調べる
手順4でP2の行に専有ロックをかけて更新する(P9は既にロック済)
…とレベルごとに専有ロックをかけることになります。
そうすると,AXとAZを実行すると,手順2で
AXがP1P4P9を,AZがP3P7P9を占有ロックしようとするので
P9が重複し必ずどっちかが待ち状態になってしまいます。
AXが先にP9をロックしたらP3まで行ったときにデッドロックになる(ケース1)
反対にAZが先にP9をロックしたらP4のときにデッドロックになる
ということで回答はP4とP9に限られそうです。
今落ち着いて考えるとともかく,これを平均45分で解けるかな…?
例えば製品AXの場合だと
手順1でP1・P4・P9の所要数を調べる
手順2でP1・P4・P9の行に専有ロックをかけて更新する
手順3でP2・P9の所要数を調べる
手順4でP2の行に専有ロックをかけて更新する(P9は既にロック済)
…とレベルごとに専有ロックをかけることになります。
そうすると,AXとAZを実行すると,手順2で
AXがP1P4P9を,AZがP3P7P9を占有ロックしようとするので
P9が重複し必ずどっちかが待ち状態になってしまいます。
AXが先にP9をロックしたらP3まで行ったときにデッドロックになる(ケース1)
反対にAZが先にP9をロックしたらP4のときにデッドロックになる
ということで回答はP4とP9に限られそうです。
今落ち着いて考えるとともかく,これを平均45分で解けるかな…?
2025.09.21 14:04
きつねうどんさん
(No.3)
ありがとうございます!
理解できました!
理解できました!
2025.09.21 14:07