マルチスレッドは、.NET Framework 下のマネージ コードで完全にサポートされています。
アプリケーションが Windows フォームを使用している場合、スレッド サポートを使用できます。ただし、ThreadPool で COBOL を使用している場合、スレッド サポートを使用しないでください。代わりに、複数の実行単位を使用して COBOL を呼び出すものとします。「MicroFocus.COBOL.RuntimeServices」を参照してください。
マネージ コードにおけるマルチスレッドに関しては、以下の点に注意してください。
.NET Framework におけるマネージ アプリケーションについては、CBL_THREAD_SUSPEND および CBL_THREAD_RESUME ルーチンが提供されていますが、旧式の API (Thread.Suspend/Thread.Resume) を使用して実装されているため、その使用は .NET Framework によって制限されています。
Microsoft は、次のようにするべきであるとしています。「System.Threading.Thread.Suspend および System.Threading.Thread.Resume メソッドを、スレッドの活動の同期には使用しないでください。停止時にスレッドが実行中のコードを知る方法はありません。セキュリティ許可の評価中に、ロックをホールドすると同時にスレッドを停止した場合、System.AppDomain 内の他のスレッドがブロックされる可能性があります。クラス コンストラクターの実行中にスレッドを停止すると、そのクラスを使用しようとしている System.AppDomain の他のスレッドがブロックされます。デッドロックは非常にたやすく発生する可能性があります。」
コンパイラ指令 WARNINGS(2) を使用して、停止や再開の使用中に警告を発することができます。