10.2.7.1 環境の要件
マルチスレッド・アプリケーションまたはマルチコンテキスト・アプリケーションの開発では、開発環境と実行時環境に関して次の内容を検討します。
- 十分な経験を持つプログラマ・チームがあり、同時実行性と同期を正しく管理するマルチスレッドおよびマルチコンテキスト・プログラムのコーディングとデバッグを行うことができるかどうか。
- アプリケーションを開発するプラットフォームで、Oracle Tuxedoシステムのマルチスレッド機能がサポートされているかどうか。マルチスレッド機能は、オペレーティング・システムで提供されるスレッド・パッケージがインストールされ、適切なレベルの機能性が提供されたプラットフォームだけでサポートされます。
- サーバーで使用されるリソース・マネージャ(RM)でマルチスレッドがサポートされているかどうか。サポートされている場合は、次の内容も検討します。
- サーバーでマルチスレッド・アクセスを使用するためにRMに必要なパラメータを設定する必要があるかどうか。たとえば、マルチスレッド・アプリケーションでOracleデータベースを使用する場合、Oracleに渡される
OPENINFO
文字列の一部としてTHREADS=true
パラメータを設定する必要があります。この設定により、各スレッドがOracleとの別々の関連付けとして動作するようになります。 - RMで処理の混在モードがサポートされているかどうか。処理の混在モードは、あるプロセスの複数のスレッドが、1つのRMとの関連付けにマップでき、また同じプロセスのほかのスレッドが別のRMとの関連付けにマップできるアクセス方法です。たとえば、1つのプロセス内でスレッドAとBがRMとの関連付けXにマップし、同時にスレッドCがRMとの関連付けYにマップできます。
すべてのRMで混在モードがサポートされているわけではありません。プロセス内のすべてのスレッドが同じRMとの関連付けにマップされなければならない場合もあります。アプリケーション生成のスレッド内でトランザクションに関与するRMアクセスを使用するアプリケーションを設計する場合は、RMで混在モードがサポートされていることを確認します。
- サーバーでマルチスレッド・アクセスを使用するためにRMに必要なパラメータを設定する必要があるかどうか。たとえば、マルチスレッド・アプリケーションでOracleデータベースを使用する場合、Oracleに渡される