資格暗記無料で始める

デッドロックの検出と回避とは?

デッドロックの検出と回避とは、複数のトランザクションが互いに相手のロック解除を待ち続けて処理が進まなくなる状態(デッドロック)への対処法。検出方式は、資源の待ち関係を表す「待ちグラフ」に循環(サイクル)が生じていないか定期的にチェックし、見つかったら一方のトランザクションを強制的に中断(ロールバック)する。回避方式は、ロック取得の順序をあらかじめ統一するなどして、循環待ちが起こらないように設計する。

でっどろっくのけんしゅつとかいひ

応用情報技術者試験の頻出用語/テクノロジ系


デッドロックの検出と回避の意味

複数のトランザクションが互いに相手のロック解除を待ち続けて処理が進まなくなる状態(デッドロック)への対処法。検出方式は、資源の待ち関係を表す「待ちグラフ」に循環(サイクル)が生じていないか定期的にチェックし、見つかったら一方のトランザクションを強制的に中断(ロールバック)する。回避方式は、ロック取得の順序をあらかじめ統一するなどして、循環待ちが起こらないように設計する。

デッドロックの検出と回避の具体例

常に「テーブルAをロックしてからテーブルBをロックする」という順序をすべてのトランザクションで統一しておけば、逆順のロック待ちによる循環が起こらずデッドロックを未然に防げる。

デッドロックの検出と回避は試験でどう引っ掛けられる?

検出方式と回避方式の取り違え。検出は「起きてから待ちグラフの循環を見つけて片方を強制ロールバックする」事後対応、回避はロック順序の統一などで「そもそも循環を作らせない」事前設計で、対処の時点が逆。またデッドロックの発生条件は資源の占有・待ちが循環することであり、単に処理が遅い状態(待たされているだけ)はデッドロックではない。

デッドロックの検出と回避と関連する用語

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。