分散トランザクション連携を行うCORBAクライアントアプリケーションをマルチスレッド環境で使用する場合、以下のアプリケーション構成で運用することができるようになります。
■トランザクション制御をスレッド環境で行う場合
同一のプロセス内で、入力用スレッド処理・出力用スレッド処理を作成・運用することで、プロセス内で資源を共通化でき、より細かい処理をアプリケーション内に閉じて運用できます。
■トランザクションの一時停止と再開処理を各スレッドで行う場合
生成したトランザクションを完了する間に、suspend機能/resume機能を使用して、トランザクション外の処理を行うことができます。また、トランザクションを開始したスレッドとは異なるスレッドでresumeすることにより、そのスレッド上でトランザクションを再開し、完了することができます。
■クライアントアプリケーションのコンパイル・リンクについて
C言語用、C++言語用サーバアプリケーションソースを、Visual C/C++コンパイラを使用してコンパイルする場合、[プロジェクト]-[設定]-[C/C++]-[カテゴリ]を“コード生成”にして、[使用するランタイムライブラリに“マルチスレッド(DLL)”を選択してください。
C言語/C++言語用サーバアプリケーションソースをコンパイルする場合は、-mtオプションを付加してください。
■コンパイル・リンク方法の例
C言語のクライアントアプリケーションのコンパイル・リンクの例を以下に示します。
% cc -mt -O -o test test_c.o test_stub.o -L/opt/FSUNots/lib -lCurrent \ -lsocket -lnsl -L/opt/FSUNod/lib -lOM -lOMcn \ -I/opt/FSUNod/include -I/opt/FSUNots/include test_c.c
\:継続行