あるユーザ(ユーザA)が,ある文書空間オブジェクト(文書X)に対してロックを設定している状態を,「ユーザAが文書Xのロックを取得している」と表現します。Java クラスライブラリでは,同じ文書空間オブジェクトに対して,あるユーザ(ユーザA)がすでに取得しているロックと,ほかのユーザ(ユーザB)が取得するロックが競合した場合,ユーザBは,ユーザAが取得しているロック種別によって,次の表で示すように排他制御されます。
表3-21 ロックが競合した場合のロックの関係
ユーザAが取得したロック | read | write | |
---|---|---|---|
ユーザBが取得できるロック | read | ○ | × |
write | × | × |
(凡例)
○:ロックを設定するメソッドを実行できます。
×:ロックを設定できないため,実行するメソッドは,ロックが解除されるまで待ち状態(WAITモード)になります。