タスクをキューに入れるフローグラフ

タスクをキューに入れるフローグラフの実装は古いオプション (非推奨) です。キューに入れられたタスクにおける wait_for_all の入れ子の呼び出しには制限があります。これらの制限によりフローグラフの構成が制限され、場合によってはフローグラフを使用できないことがありました。このため、タスクをスポーンするようにフローグラフが変更されました。キューに入れられたタスクとスポーンされたタスクの違いについては、「スケジュール・アルゴリズム」セクションを参照してください。

タスクをキューに入れるこの古い実装を利用するには、プリプロセッサー・シンボル TBB_DEPRECATED_FLOW_ENQUEUE をゼロ以外に設定する必要があります。

アプリケーションがキューに入れられたタスクの「開始した後は忘れてよい (fire-and-forget)」性質に依存する場合でも、この古い実装を使わずに済みます。例えば、スポーンするフローグラフを構築して実行するタスクをキューに入れることでこれを回避できます。外部のキューに入れられたタスクは、利用可能なワーカースレッドがない場合でも処理されます。そして、それを処理するために作成されたスレッドは、フローグラフでスポーンされたタスクを実行できます。

関連情報