バッチ、TSO、IMS、または UNIX で、プロセス内の複数のスレッドで COBOL プログラムを実行することができます。
マルチスレッド化による実行のための明示的な COBOL 言語は存在しません。正しくは、THREAD コンパイラー・オプションを使用してコンパイルを行います。
COBOL は プログラム・スレッドの管理を直接サポートしません。ただし、マルチスレッド化アプリケーション・サーバー、C/C++ ドライバー・プログラムを使用してスレッドを作成するアプリケーション、Java と 相互協調処理して Java スレッドを使用するプログラム、および PL/I タスキングを使用するアプリケーションにおいて、THREAD コンパイラー・オプションでコンパイルする COBOL プログラムを実行することができます。すなわち、他のプログラムは COBOL プログラムを呼び出して、COBOL プログラムをプロセス内の複数のスレッドで、またはスレッド内の複数のプログラム起動インスタンスとして、実行させることが できます。スレッド化されたアプリケーションは、単一の 言語環境プログラム・エンクレーブ内で実行される必要があります。
LOCAL-STORAGE または WORKING-STORAGE の 選択: マルチスレッド化プログラムは再帰的プログラムとしてコーディングしなければならないので、データの永続性は、 再帰的プログラムの永続性となります。
個々のプログラム起動インスタンスに分離するデータの場合、そのデータを LOCAL-STORAGE SECTION で定義します。一般的に、この選択はスレッド化プログラム内の作業データに適しています。データを WORKING-STORAGE に宣言し、プログラムがそのデータの内容を変更する場合には、以下のアクションのどちらかを実行する必要があります。
関連概念
マルチスレッド化
関連タスク
マルチスレッド化サポートのための THREAD の選択
マルチスレッド化されたプログラムへの制御権移動
マルチスレッド化されたプログラムの終了
マルチスレッド化によるファイルの処理
マルチスレッド化による COBOL 制限の処理
関連参照
THREAD
PROGRAM-ID 段落 (Enterprise COBOL 言語解説書)