task_scheduler_observer のメンバー

次の表は、このテンプレート・クラスのメンバーの詳細な情報を提供します。
メンバー 説明
task_scheduler_observer()

監視を無効にしてインスタンスを構築します。

~task_scheduler_observer()

監視を無効にします。on_scheduler_entry または on_scheduler_exit の呼び出しが完了するのを待ちます。

void observe( bool state=true )

state が true の場合は監視を有効にします。state が false の場合は監視を無効にします。

bool is_observing() const

戻り値: 監視が有効な場合は true。その他の場合は false。

virtual void on_scheduler_entry( bool is_worker)

タスク・スケジューラーは、監視を有効にした後、または監視を有効にしてスチールした最初のタスクを実行する前に、TBB 処理に関与する各タスクでこのメソッドを呼び出します。

is_worker フラグは、スレッドがタスク・スケジューラーで作成された場合は true です。その他の場合は false です。

タスクを作成する前にスレッドの監視が有効な場合、タスクを実行するスレッドがタスクを実行する前に on_scheduler_entry を呼び出すことが保証されます。

効果: デフォルトの動作は何もしません。

virtual void on_scheduler_exit( bool is_worker )

監視が有効な場合、タスク・スケジューラーは、スレッドがタスク・スケジュールへの関与を終了したときに、このメソッドを呼び出します。

注意

on_scheduler_exiton_scheduler_entry ではなくスレッドに対して呼び出されることがあります。この状況は、スレッドがタスクをスチールしない場合に発生します。

注意

プロセスは、ワーカースレッドがクリーンアップするのを待ちません。このため、on_scheduler_exit が呼び出される前にプロセスを終了できます。

効果: デフォルトの動作は何もしません。