デッドロックとは?
デッドロックとは、複数のトランザクションが互いに相手の保持するロックの解放を待ち、どれも先に進めなくなる状態。
ITサービスマネージャ試験の過去問では1回出題されています。
デッドロック
デッドロックの意味
複数のトランザクションが互いに相手の保持するロックの解放を待ち、どれも先に進めなくなる状態。
デッドロックの具体例
T1が表Aをロックして表Bを待ち、T2が表Bをロックして表Aを待つ。
デッドロックは試験でどう引っ掛けられる?
検出は待ちグラフに閉路があるかで判定する。閉路に含まれるトランザクションだけでなく、そこへ向かって待っているトランザクションも永久に待たされる点に注意。予防策としてはロック獲得順序を全トランザクションでそろえるのが有効。
デッドロックと関連する用語
デッドロックが出た過去問
2相ロッキングプロトコルに従うトランザクションで発生する可能性のある現象はどれか。
正解:デッドロック
要点:2相ロックは直列化可能性を保証するが、デッドロックは防げない
2相ロッキングプロトコルは、ロックを取得する成長相と解放する縮退相に分け、いったん解放を始めたら新たなロックを取らない方式である。これにより直列化可能性が保証され、ダーティリードやロストアップデート、ノンリピータブルリードといった不整合は防げる。しかし複数トランザクションが互いの保持するロックを待ち合う状態は避けられず、デッドロックは発生し得る。
出典:令和5年度 春期 ITサービスマネージャ試験 am2 問23(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。