10.2.6 ATMIサーバーのアプリケーション生成スレッドのマルチスレッドとマルチコンテキストの動作

オペレーティング・システム関数を使用して、Tuxedoアプリケーション・サーバー内に新しいスレッドを追加できます。最初、アプリケーション生成サーバー・スレッドは、どのTuxedoコンテキストにも関連していません。アプリケーション生成のスレッドは、次のように動作します:

  • Tuxedoシステムから独立して動作します。
  • tpappthrinit(3c)によって生成されたコンテキストで動作します。(この機能は、Tuxedo 11gリリース1 (11.1.1.3.0)で利用できます)。
  • 既存のサーバー・ディスパッチ・スレッドと同じコンテキストで動作し、サーバー・ディスパッチ・コンテキストのかわりに機能します。

    この状況では、アプリケーション生成のサーバー・スレッドはtpsetctxt(3c)を呼び出し、サーバー・ディスパッチ・スレッド内の以前のtpgetctxt(3c)呼出しによって返される値を渡して、サーバー・ディスパッチ・コンテキストとの関連付けを確立します。

    サーバー・ディスパッチ・コンテキストに関連付けられたアプリケーション生成のサーバー・スレッドは、処理が終了したら、元のディスパッチ・スレッドがtpreturn()を呼び出す前に、tpsetctxt(3c)を呼び出してTPNULLCONTEXTに設定する必要があります。

  • アプリケーション生成のスレッドは、tpreturn()およびtpforward()を呼び出すことはできません。

アプリケーション生成のサーバー・スレッドは別のTuxedoコンテキストを生成し、tpappthrinit(3c)を使用してこのコンテキストに自身を関連付けることができます。アプリケーション生成のサーバー・スレッドがアクティブな場合、tpappthrinit(3c)によって生成されたTuxedoコンテキストのライフサイクルは、次の3つのフェーズから構成されます。