NETJVM 

SYNC 文

SYNC 文は、所定のオブジェクトの相互排除ロックを取得し、文のブロックを実行してロックを解除することで、文のブロックを重要な節として指定する。

一般形式

構文規則

  1. identifier-1 は参照型とする。

一般規則

  1. identifier-1 は、ロック対象のオブジェクトを指定する。通常 identifier-1 は、インスタンス変数を保護する場合は SELF キーワードであり、静的変数を保護する場合は (または所定のクラスの静的メソッドに重要な節が含まれる場合は) 型となる。
  2. statement- block-1 は、重要な節の文を表す。
  3. オブジェクトをロックすると、同じ実行スレッド内で実行中のコードもそのロックを取得して解放できる。ただし、他のスレッドで実行中のコードは、ロックを取得および解放できない。そのロックは、解除されるまでブロックされる。

次の例では、SYNC 文が重要な文のセットをロックする。

method-id Withdraw. procedure division using by value amount as binary-long returning ret as binary-long. sync on self if balance >= amount display "In critical section" compute balance = balance - amount set ret to amount else display "In critical section" set ret to 0 end-if end-sync end method.