bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo CORBA プログラミング・リファレンス

 Previous Next Contents View as PDF  

CORBA::ORB::perform_work

概要

ORB がサーバ関連の作業を実行できるようにします。

C++ バインディング

void CORBA::ORB::perform_work ();

引数

特にありません。

例外

ORB がシャットダウンした後に、work_pending および perform_work() を呼び出すと、BAD_INV_ORDER 例外が発生します。アプリケーションでは、この例外を検出して、いつポーリング・ループを終了するかを判定します。

説明

このオペレーションは、メイン・スレッドによって呼び出された場合に ORB がサーバ関連の作業を実行できるようにします。それ以外の場合は、何の処理も行いません。

work_pending() および perform_work() オペレーションを使用すると、ORB などのアクティビティのメイン・スレッドを多重化する単純なポーリング・ループを記述できます。このようなループは主に、シングル・スレッドのサーバで必要になります。マルチスレッドのサーバでポーリング・ループが必要になるのは、メイン・スレッドの使用が必要なほかのコードと ORB の両方がある場合のみです。このようなポーリング・ループについては、以下の例を参照してください。

戻り値

特にありません。

関連項目

CORBA::ORB::work_pending

次に、ポーリング・ループの例を示します。

// C++
for (;;) {
if (orb->work_pending()) {
orb->perform_work();
}
// ほかの作業を実行させるか、
// またはスリープ状態にする
}

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy