![]() |
![]() |
|
|
マルチスレッドおよびマルチコンテキストとは
BEA Tuxedo システムでは、単一のプロセスで複数のタスクを同時に実行できます。このようなプロセスをインプリメントするプログラミング手法はマルチスレッドおよびマルチコンテキストと呼ばれます。この節では、これらの手法に関する基本事項について説明します。
マルチスレッドとは
マルチスレッドとは、1 つのプロセスに複数の実行単位が含まれている処理方法です。マルチスレッド・アプリケーションでは、同じプロセスから同時に複数の呼び出しを行うことができます。たとえば、個々のプロセスが 1 つの未終了の tpcall() に制限されることはありません。
サーバのマルチスレッドでは、アプリケーション生成のスレッドがシングルコンテキスト・サーバで使用される場合を除き、マルチコンテキストが必要です。マルチスレッドのシングルコンテキスト・アプリケーションを作成する唯一の方法は、アプリケーション生成のスレッドを使用することです。
BEA Tuxedo システムでは、C 言語で記述されたマルチスレッド・アプリケーションがサポートされています。COBOL 言語のマルチスレッド・アプリケーションはサポートされていません。
次の図は、マルチスレッド・クライアントが 3 つのサーバに対して同時に呼び出しを行う方法を示しています。
マルチスレッド・プロセスの例
マルチスレッド・アプリケーションでは、同じサーバで複数のサービス・ディスパッチ・スレッドを使用できるので、アプリケーションに対して起動するサーバ数が少なくて済みます。 次の図は、異なるクライアントに対して、サーバ・プロセスが同時に複数のスレッドをディスパッチする方法を示しています。 1 つのサーバ・プロセスによる複数のサービス・スレッドのディスパッチ
マルチコンテキストとは コンテキストはドメインへの対応付けです。マルチコンテキストを使用すると、1 つのプロセスで次のいずれかが可能になります。
マルチコンテキストは、クライアントとサーバの両方で使用できます。サーバでマルチコンテキストを使用すると、マルチスレッドも使用することになります。
コンテキストの特徴の詳細については、次のいずれかの節で「コンテキストの属性」を参照してください。
BEA Tuxedo システムでは、C 言語または COBOL 言語のいずれかで記述されたマルチコンテキスト・アプリケーションがサポートされています。ただし、サポートされるマルチスレッド・アプリケーションは、C 言語で記述されたものだけです。
次の図は、ドメイン内でのマルチコンテキスト・クライアント・プロセスの動作を示しています。矢印はサーバへの未終了の呼び出しを表します。
2 つのドメイン内でのマルチコンテキスト・プロセス
マルチスレッド・アプリケーションまたはマルチコンテキスト・アプリケーションのライセンス ライセンスの関係で、各コンテキストは 1 人のユーザとしてカウントされます。1 つのコンテキストで複数のスレッドを使用するために、ライセンスを追加する必要はありません。次に例を示します。
関連項目
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|