資格暗記無料で始める

排他制御の粒度と2相ロックとは?

排他制御の粒度と2相ロックとは、排他制御でロックをかける対象の細かさ(テーブル単位・行単位など)を「粒度」と呼び、粒度が細かいほど同時実行性は高まるが制御は複雑になる。2相ロック方式は、ロックの獲得のみを行う「成長フェーズ」と、解放のみを行う「縮退フェーズ」に分けることで、トランザクションの直列可能性(正しい実行順序と同等の結果になること)を保証する方式。

はいたせいぎょのりゅうどとにそうろっく

ネットワークスペシャリスト試験の頻出用語/午前II


排他制御の粒度と2相ロックの意味

排他制御でロックをかける対象の細かさ(テーブル単位・行単位など)を「粒度」と呼び、粒度が細かいほど同時実行性は高まるが制御は複雑になる。2相ロック方式は、ロックの獲得のみを行う「成長フェーズ」と、解放のみを行う「縮退フェーズ」に分けることで、トランザクションの直列可能性(正しい実行順序と同等の結果になること)を保証する方式。

排他制御の粒度と2相ロックの具体例

行単位のロックなら、同じテーブルの別の行を更新する他のトランザクションを待たせずに済むため、テーブル単位でロックする場合より並行処理の効率が高い。

排他制御の粒度と2相ロックは試験でどう引っ掛けられる?

「粒度が細かいほど良い」ではない。ロックの管理件数とオーバヘッドが増えるため、同時実行性と制御コストはトレードオフになる。また2相ロックが保証するのは直列可能性だけで、デッドロックは防げない(むしろ起こりうる)——「2相ロックにすればデッドロックしない」は誤り。成長フェーズと縮退フェーズは順序が固定で、一度解放し始めたら新たなロックは取得できない。

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