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.