UniObjectsは、複数の並列アクションに同じセッションを使用することをサポートしていません。基本的に、並列アクションに同じセッションを使用することは、TCLで2つのことを同時に実行しようとするようなものです。異なるスレッドで2つの長時間実行選択を試したところ、次のエラーが発生しました。
トランスポート接続からデータを読み取ることができません:WSACancelBlockingCallの呼び出しによってブロッキング操作が中断されました。[IBMU2] [UODOTNET --UNIRPC] [ErrorCode =810009]RPCが失敗しました
ただし、 UniObjectsは、異なるセッションを使用する並列スレッドをサポートします。それらは異なるセッションであるため、保存されたリストを使用しない限り、選択リストは競合しません。
ライセンスについて心配している場合は、ファントムを使用してこれらの並列アクションを実行できます。ファントムを使用すると、基本的なプログラムを非同期で実行できます。ファントムは特定の場合(例:HTTPリクエストの実行)でのみライセンスを消費することを理解しています。シングルスレッドの.NETアプリケーションは、基本プロセスを2回呼び出すことができます。このプロセスは、毎回ファントムを作成して、選択を実行し、結果を任意の場所に保存します。次のPICK基本コードを使用して、ファントムを使用して任意の基本プログラム「PHANTOM.TEST」を実行します。
EXECUTE "PHANTOM PHANTOM.TEST ":RECORDID
ファントムの実行が終了したことを判断するためのエレガントな方法をまだ見つけていないため、ファントムを避けようとしています。
ファントムライセンスリファレンス:https ://u2tc.rocketsoftware.com/documentation/PDF/1177927.pdf