共有ロック
ロックの種類だよ
読めるけど書けないよ
他の人も読めるけど書けないよ
データを見たいだけのとき(変更はしないとき)にやるよ
簡単に書くよ
共有ロック(読:キョウユウロック 英:shared lock)とは
「これは今、俺が使ってるからさ。他の人は触らないでね」にすること(ロック)の種類のひとつ
であり
「これは今からボクが見るね。あっ、君も見たいの?見ていいよ。でも変更はしないでね」なロックのこと
です。
もう少し辞書っぽく書くと
自分も他の人も「見ることはできるけど変更はできない」になるロックのこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・排他制御
・ロック
・占有ロック(排他ロック)
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
排他制御は「ダブルブッキングしないようにすること」です。
同時に使われるとマズい(おかしくなる)ものに組み込む仕組みで、1つの物を同時に使わせないための工夫です。
今回 登場するロックは「これは今、俺が使っているからさ。他の人は触らないでね」です。
鍵をかければ、他の人は使えないですよね?
そのような状態、もしくは、そのような状態にする行為です。
ロックは排他制御を実現する手段のひとつです。
占有ロックは「これは今、俺様専用だ!何人たりとも触れることは、まかりならん!」なロックです。
「排他ロック」とも呼ばれます。
占有ロックにすると、ロックした人は、そいつを見られます。
変更も できます。
他の人は、ロックしている間、そいつを見られません。
変更もできません。
占有ロックは完全に自分一人で使うためのロックです。
「えっ?それって普通のロックじゃないの?」と思った人は、その通りです。
みなさんが「ロック」と言われて思い浮かべるロックは、おそらく排他ロックです。
以上を踏まえて
「これは今、ボクが見ているからさ。みんなも見ていいけど、変更はしないでね」なロック
が「共有ロック」です。
共有ロックにすると、ロックした人は、そいつを見られます。
ただし、変更はできません。
他の人も、たとえロックされていても、そいつを見られます。
ただし、変更はできません。
共有ロックは「(不都合が起きない範囲で)みんなで仲良く使おうね」なロックです。
「別に変更しないんだよね」なときは、共有ロックにしておくと他のプログラムとかに親切です。
ロックしている間も見ることはできますからね。
「見るだけならロック自体をしなくて良いんじゃないの?」と思う人がいるかもしれませんが、わざわざロック(共有ロック)するのは他の人に「今は自分が見ているから変更しないでね!」と知らせるためです。
自分が見ている途中なのに変更されたら、なんかゴチャゴチャして、おかしくなりそうですよね?
それを防ぐためにやるのが共有ロックです。
一方「あー、変更するかもな」なときは占有ロックにする必要があります。
自分が変更しているときに他のプログラムとかが(変更途中のやつを)見たり変更したりしたら、おかしくなりますよね?
そうでなくても、他のやつに邪魔されずに使いたいときはあるでしょう。
そんなときにやるのが占有ロックです。
気が向いたら、併せて覚えてあげてください。
■占有ロック
・自分専用になる
・自分は見られるし、変更もできる
・他の人は見られないし、変更もできない
・変更する用
■共有ロック
・自分専用にならない
・自分は見られるけど、変更はできない
・他の人も見られるけど、変更はできない
・見るだけ用
です。
一言でまとめるよ
まぁ「共有ロック」って単語が出てきたら「『自分は見るだけで変更できないし、他の人も見るだけで変更できないぜ!』になるロック
(「これは今、俺が使ってるからさ。他の人は触らないでね」にすること)なんだな~」と お考えください。
おまけ
■訳してみるよ
「共有」は日本語ですね。
「lock(ロック)」の意味は「錠前」とか「錠を掛ける」とか「閉じ込める」とか「固定する」とか「動けなくする」とかです。
何となく くっつけると
共有で錠をかける
となります。
■検索してみる?





