.NET Framework の .NET COBOL コードでは、マルチスレッドが完全にサポートされています。
アプリケーションが Windows フォームを使用している場合、スレッド サポートを使用できます。ただし、ThreadPool で COBOL を使用している場合、スレッド サポートを使用しないでください。代わりに、複数の実行単位を使用して COBOL を呼び出す必要があります。「MicroFocus.COBOL.RuntimeServices」を参照してください。
.NET COBOL コードでのマルチスレッドに関しては、次の点に注意してください。
.NET Framework の .NET COBOL アプリケーションについては、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) を使用して、停止および再開の使用時に警告を発することができます。