デッドロックの予防
デッドロック=相互のロック待ち(循環待ち)。ロック順序の統一で予防とは?
意味
ロックは同時更新の整合性を保つ仕組みだが、複数の資源を異なる順序でロックすると相互待ちが発生し得る。 ▍なぜ正解 二つのトランザクションが互いに相手の保持するロックの解放を待ち合い、どちらも進めなくなる状態がデッドロックである。資源をロックする順序を全トランザクションで統一すれば、循環した待ち合いが生じずデッドロックを防止できる。 ▍よくある間違い デッドロックを他のトランザクション障害(ダーティリード・回復処理)や設計問題と混同する。 ▍試験の狙い 「互いに待って進まない」はデッドロック、対策はロック順序統一かタイムアウト。
?応用情報技術者試験での問われ方
あるオンラインシステムで、二つのトランザクションがそれぞれ別の行をロックした状態で、相手がロック中の行を追加で更新しようと待ち続け、どちらも処理が進まなくなった。この状態の説明と対策として最も適切なものはどれか。
答え:デッドロック=相互のロック待ち(循環待ち)。ロック順序の統一で予防
✓覚え方
順番をそろえれば、待ちの輪はできない。
「デッドロック=相互のロック待ち(循環待ち)。ロック順序の統一で予防」を、演習で定着させる。
無料ではじめる →応用情報技術者試験の過去問を、一問ごとの8-ways解説つきで。まずは無料で。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
ukamiru 用語集 · 応用情報技術者試験
