排他ロック

作成:2023-04-02 17:29
更新:2023-04-02 17:29
概要
「排他ロック」について説明したページです。「排他ロック」は、あるデータに対して1つの主体だけがアクセスできるようにする仕組みのことです。

注記

このページ「排他ロック」は、 占有ロックのエイリアス(別名ページ)です。

用語

「占有ロック/排他ロック」(exclusive lock)についての説明です。

説明

student
生徒

占有ロック(排他ロック)って何ですか?

teacher
先生

占有ロックとは、同じデータに対する同時アクセスを制限する仕組みの一つで、占有ロックをかけたデータは、そのロックをかけた主体だけが読み書きできるようになります。

student
生徒

どういうときに占有ロックが必要になるんですか?

teacher
先生

例えば、銀行の口座残高を更新する場合、同時に複数の入出金が発生しないように、口座データに占有ロックをかけることで、正しい残高を保証できます。つまり、データの整合性を保つために必要になる場合があります。

student
生徒

占有ロックをかけるとき、他の主体は何もできなくなるってことですか?

teacher
先生

はい、その通りです。占有ロックをかけたデータに対して、他の主体は参照や更新、削除、ロックなどの操作を行うことができません。

student
生徒

占有ロックをかけると処理の速度や並行性に影響があるって言われましたが、具体的にどういう影響があるんですか?

teacher
先生

占有ロックは他の主体のアクセスを完全に遮断するため、他の処理が待たされたり、並行処理が制限されたりすることがあります。そのため、占有ロックをかけるときは、必要最小限の時間だけかけるように注意する必要があります。

student
生徒

占有ロックと対照的な共有ロックって何ですか?

teacher
先生

共有ロックは、他の主体も参照はできるが更新や削除はできないようにするロックです。つまり、複数の主体が同時に読み取りアクセスすることができますが、書き込みや削除はできなくなります。共有ロックは、読み込みが頻繁に発生するデータに対して使われます。

まとめ

「占有ロック/排他ロック」(exclusive lock)とは、同時に複数のプログラムやユーザーが同じデータにアクセスする場合に、そのデータに対して1つの主体だけがアクセスできるようにする仕組みのことです。

占有ロックをかけたデータは、そのロックをかけた主体だけが読み書きできるようになり、他の主体は操作できません。

これにより、データの整合性を保つことができます。

ただし、占有ロックは他の主体のアクセスを遮断するため、処理の速度や並行性に影響を与える可能性があるため、必要最小限の時間だけかけるように注意する必要があります。

よく見られているページ
最新(80件表示 / 全317件中)
ランダム(20件表示)
全単語