我讀過TBB flow graph conditional execution並有一個稍有不同的問題。TBB流程圖條件執行AND多重輸入和輸出
是否有可能創建一個具有多個輸入和多個輸出的節點並通過一個條件變量來控制執行?也許沒有醜陋的演員。
我附上了一個簡單的例子,我想如何設計圖。用TBB流程圖運行最困難的方式是什麼?
start_node
發送start_msg
到some_node
如果
start_msg
是空的,some_node
發送continue_msg
到end_node
,否則some_node
發送continue_msg
本身和A,如果continue_msg
是data_msg
到end_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
本身。