情処用語辞典

占有ロック

説明

資源を安全に更新するための方法で、他のトランザクションからのロックをできなくします。占有ロック中は他のトランザクションからは資源の読み取り・更新ができなくなります。排他ロックともいいます。

排他ロックを行わずに資源を更新すると、他のトランザクションの処理によってはデータの不整合が発生する場合があります。

下記はデータの不整合が発生する例です。

この例で両方のトランザクションが占有ロックを実施していれば、トランザクションAの処理中はトランザクションBは処理できず処理が(A-1)(A-2)(A-3)(B-1)(B-2)(B-3)の順番になります。トランザクションAがデータを100に更新した後にトランザクションBが処理をして最終的にデータは300になり、正しい処理結果になります。