7.2.1 スレッドポリシー
スレッドポリシーでは,POAが使用するスレッドモデルを指定します。ThreadPolicyに使用できる値は次のとおりです。
- ORB_CTRL_MODEL(デフォルト)
-
POAはリクエストをスレッドに割り当てる責任を負います。マルチスレッド環境では,同時に発生した複数のリクエストは,複数のスレッドで処理されます。Borland Enterprise Server VisiBrokerはマルチスレッドモデルを使用することに注意してください。
- SINGLE_THREAD_MODEL
-
POAプロセスはリクエストを順次処理します。マルチスレッド環境では,POAがサーバントおよびサーバントマネージャに行う呼び出しはすべてスレッドセーフです。
- MAIN_THREAD_MODEL
-
呼び出しは識別されたメインスレッドで処理されます。このポリシーを使用するPOAに対するすべてのリクエストは,順次処理されます。マルチスレッド環境では,このポリシーを使用するPOAによって呼び出されるサーバントのすべての処理は,スレッドセーフでなければなりません。
アプリケーションプログラマは,ORB::run()メソッドまたはORB::perform_work()メソッドを呼び出してメインスレッドを指定します。このメソッドの詳細については,「7.4 オブジェクトの活性化」を参照してください。