1.4.2 マルチスレッドCORBAサーバーを使用すべき場合

複数の独立したスレッドを使用するようにアプリケーションを設計すると、アプリケーション内に同時実行性がもたらされ、総合的なスループットを改善できます。複数のスレッドを使用すると、各スレッドが複数の独立したタスクを並列に処理する効率的なアプリケーションを構築できます。マルチスレッドは、次の場合に特に役立ちます。

  • ほかの処理に必ずしも依存しない一連の長い操作が存在します。
  • 共有されるデータの量が少なく、識別可能です。
  • 並列に実行できる複数のアクティビティにタスクを分割できます。
  • オブジェクトがリエントラントでなければならない場合もあります。

コンピュータ操作の中には、完了するのに長い時間を要するものがあります。マルチスレッド設計では、操作のリクエストと完了の間の待機時間を飛躍的に短縮できます。これは、データベースにアクセスするとき、リモート・オブジェクトの操作を呼び出すとき、マルチ・プロセッサ・マシン上のCPUバウンドなど、操作が大量のI/O操作を実行する環境に当てはまります。サーバー・プロセスでマルチスレッド機能を実装すると、サーバーが一定時間に処理できるリクエストの数が増加します。

マルチスレッド・サーバー・アプリケーションの主要な要件は複数のクライアント・リクエストを同時に処理することです。マルチスレッド・サーバーの使用の要件と利点の詳細は、「マルチスレッド・サーバーの使用」を参照してください。