過去問ドリル

排他制御とは

複数の処理が同じデータを同時に更新して矛盾が起きないよう、アクセスを制限する仕組み。

解説

データを読むだけなら複数の処理が同時に行っても問題ありませんが、更新が絡むと矛盾が生じます。そこで、読込み用の「共有ロック」と更新用の「専有(排他)ロック」を使い分けます。共有ロックどうしは同時に取れますが、専有ロックは他のどのロックとも同時に取れません。ロックの待ちが循環すると、デッドロックが起こります。ロックをかける範囲(粒度)を細かくすると同時実行性は高まりますが、管理の負担は増えます。

試験での出方

どのロックの組合せが同時に取れるか、処理の実行順序でデッドロックが発生するかを問う問題が出ます。

あわせて読みたい用語

この用語が解説に出てくる問題