10.2.7.2.1 マルチスレッドやマルチコンテキストに適するアプリケーションのタスク
次の表は、アプリケーションをマルチスレッドまたはマルチコンテキストにすべきかどうかを判断するための参考となる検討事項を示しています。この表だけでは十分ではないので、個々の要件に基づいて他の事項も検討してください。
そのほかの検討事項については、マルチスレッド・アプリケーションやマルチコンテキスト・アプリケーションのプログラミングに関する書籍を参照してください。
検討事項 | 検討事項に該当する場合に使用する機能 |
---|---|
ドメイン機能を使用せずに、クライアントが複数のアプリケーションに接続する必要があるか | マルチコンテキスト。 |
アプリケーション内でクライアントが多重化の機能を果たすか。たとえば、アプリケーション内の1つのマシンがそのほかの100台のマシンの「代理」に指定されているか | マルチコンテキスト。 |
クライアントでマルチコンテキストが使用されるか | マルチスレッド。各コンテキストにスレッドを1つずつ割り当てると、コードを簡略化できます。 |
クライアントが2つ以上のタスクを長時間個別に実行することで、並列処理によるパフォーマンスがスレッド同期のコストと複雑さを上回るか | マルチスレッド。 |
1つのサーバーで複数のリクエストを同時に処理するか | マルチスレッド。MAXDISPATCHTHREADS に1より大きな値を割り当てます。このように設定すると、1つのサーバーで複数のクライアントをそのクライアントのスレッドで処理できるようになります。
|
アプリケーション生成のサーバー・スレッドでATMI呼出しを実行するか | マルチスレッド。アプリケーション生成のサーバー・スレッドは別のTuxedoコンテキストを生成し、tpappthrinit(3c)を呼び出すことによってこのコンテキストに自身を関連付けます(この機能はTuxedo 11gリリース1(11.1.1.3.0)で利用できます)。 |
クライアントまたはサーバーに複数のスレッドがある場合、各スレッドでわずかな処理を行った後でもスレッドを同期する必要があるか | マルチスレッドを使用しません。 |
親トピック: 設計の要件