これらのメソッドは、キャッシュ・アフィニティーを最適化します。前に実行された別のタスクと同じスレッドで後のタスクを実行するヒントを提供します。次の操作を行います。
id はヒントで、スケジューラーによって無視されます。
メンバー | 説明 |
---|---|
affinity_id |
task::affinity_id 型は、処理系定義の符号なし整数型です。値 0 は、アフィニティーがないことを示します。ほかの値は、特定のスレッドに対するアフィニティーを表します。 ゼロ以外の値に関して何も仮定しないでください。ゼロ以外の値のスレッドへのマッピングは、インテル® TBB ライブラリーに内部的に実装されます。 |
virtual void note_affinity ( affinity_id id ) |
次の場合、タスク・スケジューラーは execute() を呼び出す前に note_affinity を呼び出します。
id を記録するこのメソッドをオーバーライドし、後のタスクで set_affinity(id) の引数として使用できます。 効果: デフォルトの定義は効果がありません。 |
set_affinity ( affinity_id id ) |
このタスクのアフィニティーを id に設定します。id は、0 または note_affinity から取得した値のいずれかです。 |
affinity_id affinity() const |
戻り値: set_affinity によって設定される、このタスクのアフィニティー。 |