CBL_THREAD_DETACH

スレッドが終了した際にスレッド リソースを解放します。
制約事項: このルーチンは現在、COBOL for JVM ではサポートされていません。

構文:

call "CBL_THREAD_DETACH" using by value thread-id

パラメーター:

  呼び出しプロトタイプ使用時 (「説明の読み方」を参照) PIC
thread-id cblt-pointer USAGE POINTER

入力パラメーター:

thread-id スレッド識別子へのポインター。

出力パラメーター:

return-code 成否を示す値。「スレッド制御ルーチンの RETURN-CODE 値」を参照してください。

説明:

CBL_THREAD_DETACH では、スレッドが終了した際にそのスレッドのリソースを解放できます。スレッドが作成されると (デタッチされていない)、ハンドルが作成元に返されます。そのハンドルは、スレッドの待機、スレッドからの戻りコードの取得、スレッドの状態の検査などに使用できます。スレッドが終了しても、そのハンドルは WAIT (待機) または DETACH (デタッチ) が実行されるまで有効です。つまり、リソースは (終了した) スレッドに割り当てられたままになります。スレッドがデタッチされると、終了したスレッドのすべてのリソースが直ちに解放されます。スレッドが引き続きアクティブである場合は、スレッドの終了時、それらのリソースは解放するようにマークされます。

次の場合、動作は不定になります。

  • thread-id が未定義である場合
  • 2 つのスレッドが、同じスレッドに対して同時に CBL_THREAD_WAIT または CBL_THREAD_DETACH、あるいはその両方を呼び出した場合

成功した場合、RETURN-CODE は 0 に設定されます。失敗した場合、エラー番号が呼び出しから返されます。ただし、一部の動作は不定なため、呼び出しが失敗した場合はランタイム システム エラーが発生する可能性があります。