スレッド施錠ルーチンの使用

以下のプログラムエントリコードにより、プログラムに入った最初のスレッドのみデータの初期化を行い、続くスレッドには初期化前のデータを使用する。

if  first-time = 0
         call "cbl_thread_prog_lock"
        if  first-time = 0
             initialize my-data-division
            move 1 to first-time
        end-if
        call "cbl_thread_prog_unlock"
    end-if

first-timeの値を再確認すること。 すでにプログラムの初期化が行われていることが確認されている場合には、最初の確認によってプログラムの施錠のオーバヘッドを回避するための最適化が行われる。