我已经阅读了TBB 流程图条件执行并且有一个稍微不同的问题。
是否可以创建具有多个输入和多个输出的节点并通过条件变量控制执行?也许没有丑陋的演员表。
我附上了一个简单的例子,我想如何设计图表。使用 TBB 流程图运行它的最佳方法是什么?
start_node发送start_msg到some_node如果
start_msg为空,则some_node发送 acontinue_msg到end_node,否则some_node将 a 发送continue_msg到自身 AND adata_msg到end_node如果
continue_msg由 接收some_node,则检查先前的 start_msg 是否为空,如果是,则 acontinue_msg发送到end_node,否则 adata_msg发送。+--continue_msg--+ | | +-----+ +-----+ | | | | +----data_msg---+ v | / \ start_node --start_msg--> some_node end_node \ / +--continue_msg--+
我正在处理的一个问题:我不能说有多少好的元素在start_msgeven 是已知的大小(假设start_msg持有 a tbb::concurrent_vector<T>。如果some_node找到一个坏元素,它将被忽略some_node并将 a 发送continue_msg给它自己。