「占有ロック」と「共有ロック」の違い
予備知識
| 用語 | 意味 |
|---|---|
| ロック | 今回は「これは今、俺が使っているからさ。他の人は触らないでね」の意味 |
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| 占有ロック | 「これは今から俺様が使うから、他の奴らは一切触るな!」なロック。自分は見ることも変更することもできる、他の人は見ることも変更することもできない、になるロック |
| 共有ロック | 「これは今からボクが見るね。あっ、君も見たいの?見ていいよ。でも変更はしないでね」なロック。自分も他の人も「見ることはできるけど変更はできない」になるロック |
似ているところ
どちらもロックです。
「これは今、俺が使っているからさ。他の人は触らないでね」です。

違うところ
制限のかかり方と使う目的が違います。
占有ロックにすると、ロックした人は、そいつを見られます。
変更もできます。

他の人は、ロックしている間、そいつを見られません。
変更もできません。

「あー、変更するかもな」なときは占有ロックにする必要があります。
自分が変更しているときに、他のプログラムとかが(変更途中のやつを)見たり変更したりしたら、おかしくなりますよね?
そうでなくても、他のやつに邪魔されずに使いたいときはあるでしょう。
そんなときにやるのが占有ロックです
共有ロックにすると、ロックした人は、そいつを見られます。
ただし、変更はできません。

他の人も、たとえロックされていても、そいつを見られます。
ただし、変更はできません。

「別に変更しないんだよね」なときは、共有ロックにしておくと他の人に親切です。
ロックしている間も見ることはできますからね。
並べて書くと
■占有ロック
・自分専用になる
・自分は見られるし、変更もできる
・他の人は見られないし、変更もできない
・変更する用
■共有ロック
・自分専用にならない
・自分は見られるけど、変更はできない
・他の人も見られるけど、変更はできない
・見るだけ用
です。
個人的な使い分け
見るだけのときは、できるだけ共有ロックにします。
変更するときは占有ロックにします。
備考
占有ロックは「排他ロック」とも呼ばれます。
みなさんが「ロック」と言われて想像するであろうロックは占有ロックです。
「見るだけならロックしなくて良いんじゃないの?」と思う人がいるかもしれませんが、わざわざロック(共有ロック)するのは他の人に「今は自分が見ているから変更しないでね!」と知らせるためです。
自分が見ている途中なのに変更されたら、なんかゴチャゴチャして、おかしくなりそうですよね?
それを防ぐためにやるのが共有ロックです。






