10.2.4.1.2 クライアント・スレッドの既存のコンテキストへの切り替わり

多くのATMI関数はコンテキスト単位で動作します。コンテキスト単位で動作するには、ターゲット・コンテキストが現在のコンテキストであることが必要です。クライアントは複数のコンテキストに参加できますが、状況とスレッドにかかわらず現在のコンテキストになることができるコンテキストは1つだけです。

アプリケーション内でタスクの優先度が移り、ほかのOracle Tuxedoドメインと通信する必要が発生した場合、あるコンテキストから別のコンテキストにスレッドを再割り当てした方がよい場合があります。

そのような場合、あるクライアント・スレッドがtpgetctxt(3c)を呼び出し、返された現在のコンテキストを値として持つハンドルを別のクライアント・スレッドに渡します。2番目のスレッドはtpsetctxt(3c)を呼び出し、最初のスレッドでtpgetctxt(3c)から受け取ったハンドルを指定して、現在のコンテキストとの関連付けを確立します。

目的のコンテキストとの関連付けが確立されると、2番目のスレッドはコンテキスト単位で動作するATMI関数を使用してタスクを実行できるようになります。詳細は、「マルチスレッドATMIクライアントでのコンテキスト単位の関数とデータ構造体」を参照してください。