ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(データベース連携サービス編)

13.1.1 マルチスレッド環境を考慮したクライアントアプリケーションの構成

  分散トランザクション連携を行う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