複数の実行単位の背景

ASP.NET や .NET リモーティングなどの .NET サーバアプリケーションは、通常、複数のユーザにより利用され、その各ユーザが他のユーザと同時にセッションを実行しますが、COBOL アプリケーションは、従来、それぞれが独立した単一セッションで実行されます。 .NET では、サーバアプリケーションはアプリケーションドメインによって実行、制御されます。 各アプリケーションドメインは、同時に複数のアプリケーションインスタンスを実行できます。

デフォルトでは、手続き型 COBOL アプリケーションがアプリケーションドメイン内で実行されると、そのアプリケーションはデフォルトの COBOL 実行単位内で実行され、同じアドレス空間を共有する複数のスレッドが使用されます。 そのようなアプリケーションが同時に何度か実行されると、同じ実行単位が使用され、結果としてすべての実行インスタンスで同じデータが共有されるので、問題が発生する可能性があります。

マルチユーザ環境では、COBOL アプリケーションは、アプリケーションの各インスタンスが専用の実行単位で実行されるように、複数の実行単位を使用する必要があります。複数の実行単位を使用するには、次の手順に従います。


既存の手続き型 COBOL を変更する必要はありません。

注:REENTRANT 指令または ILSTATIC 指令でコンパイルしていない限り、すべての COBOL プログラムまたはインスタンスデータ/メソッドを持つ COBOL クラスを複数の実行単位で使用できます。