私はTBB flow graph conditional executionと読んでいて、少し違う問題があります。TBBフローグラフの条件付き実行と複数のイン/アウト出力
複数の入力と複数の出力を持つノードを作成し、条件付き変数による実行を制御することは可能ですか?たぶん醜いキャストなし。
グラフをどのように設計したいかの簡単な例を添付しました。 TBBフローグラフを使って実行するにはどうすればいいですか?
start_node
continue_msg
がある場合は、それ自体にcontinue_msg
を送信し、data_msg
end_node
からstart_msg
が空の場合、some_node
はsome_node
他、end_node
にcontinue_msg
を送るstart_msg
some_node
へを送信
some_node
によって受信され、前のstart_msgがチェックされます。空の場合はcontinue_msg
がend_node
に送信され、そうでない場合はdata_msg
が送信されます。私が扱ってる+--continue_msg--+ | | +-----+ +-----+ | | | | +----data_msg---+ v |/ \ start_node --start_msg--> some_node end_node \ / +--continue_msg--+
一つの問題:私はstart_msg
の内部でどのように多くの良い要素と言うことはできませんも、サイズがのがstart_msg
が保持しているとしましょう(知られているtbb::concurrent_vector<T>
some_node
が悪いが見つかった場合。要素、無視され、some_node
は、それ自体にcontinue_msg
を送信しています。