メンバー | 説明 |
---|---|
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_exit が on_scheduler_entry ではなくスレッドに対して呼び出されることがあります。この状況は、スレッドがタスクをスチールしない場合に発生します。 注意プロセスは、ワーカースレッドがクリーンアップするのを待ちません。このため、on_scheduler_exit が呼び出される前にプロセスを終了できます。 効果: デフォルトの動作は何もしません。 |