2相ロッキングプロトコルとは?
2相ロッキングプロトコルとは、複数のトランザクションを同時実行しても矛盾(不整合)が起きないことを保証するための排他制御の規則。トランザクション内でロックの取得だけを行う「拡張フェーズ」と、ロックの解放だけを行う「縮退フェーズ」に分け、一度縮退フェーズに入ったら再びロックを取得しないというルールを設ける。
にそうろっきんぐぷろとこる
2相ロッキングプロトコルの意味
複数のトランザクションを同時実行しても矛盾(不整合)が起きないことを保証するための排他制御の規則。トランザクション内でロックの取得だけを行う「拡張フェーズ」と、ロックの解放だけを行う「縮退フェーズ」に分け、一度縮退フェーズに入ったら再びロックを取得しないというルールを設ける。
2相ロッキングプロトコルの具体例
あるトランザクションがロックを取得している最中に別のロックを解放してしまうと、直感的でない実行順序が起こりうるため、取得と解放のフェーズを明確に分離することで、直列実行と同等の結果(直列可能性)を保証する。
2相ロッキングプロトコルは試験でどう引っ掛けられる?
名前が似た「2相コミット」とはまったく別物で、こちらは同時実行制御(排他制御)の規則。直列化可能性は保証するが、デッドロックは防げない点が最大の引っ掛け。取得だけの拡張フェーズが先、解放だけの縮退フェーズが後、と順序も逆にしない。
2相ロッキングプロトコルと関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。