ページの先頭行へ戻る
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   

  \:継続行