10.2.1.1 マルチスレッドとは

マルチスレッドとは、1つのプロセスに複数の実行単位が含まれている処理方法です。マルチスレッド・アプリケーションでは、同じプロセスから同時に複数の呼出しを行うことができます。たとえば、個々のプロセスが1つの未終了のtpcall()に制限されることはありません。

サーバーのマルチスレッドでは、アプリケーション生成のスレッドがシングル・コンテキスト・サーバーで使用される場合を除き、マルチコンテキストが必要です。マルチスレッドのシングル・コンテキスト・アプリケーションを作成する唯一の方法は、アプリケーション生成のスレッドを使用することです。

Oracle Tuxedoシステムでは、C言語で記述されたマルチスレッド・アプリケーションがサポートされています。COBOL言語のマルチスレッド・アプリケーションはサポートされていません。

次の図は、マルチスレッド・クライアントが3つのサーバーに対して同時に呼出しを行う方法を示しています。

図10-1 マルチスレッド・プロセスの例


マルチスレッド・プロセスの例の図

マルチスレッド・アプリケーションでは、同じサーバーで複数のサービス・ディスパッチ・スレッドを使用できるので、アプリケーションに対して起動するサーバー数が少なくて済みます。

次の図は、異なるクライアントに対して、サーバー・プロセスが同時に複数のスレッドをディスパッチする方法を示しています。

図10-2 1つのサーバー・プロセスによる複数のサービス・スレッドのディスパッチ


1つのサーバー・プロセスによる複数のサービス・スレッドのディスパッチの図