来自TBB节点的异步输入/输出和非均匀输出

时间:2019-03-16 10:38:33

标签: c++ multithreading tbb tbb-flow-graph

我刚开始一个项目,打算使用Intel Threading Building Block库,尤其是流程图部分。

在这方面,我有两个问题:

  1. 是否可以使节点具有异步输入/输出关系?例如,一个特殊的缓冲节点将接受一些数据输入,并偶尔提供一些输出(例如,计算的统计信息)

  2. 是否可以有将不同消息发送到后续节点的节点?换句话说,这不是简单的广播。

1 个答案:

答案 0 :(得分:1)

Tor

在两种情况下,您想要的节点都是multifunction_node。该节点将接收像常规function_node这样的输入,并且它具有一个可以附加到输出端口的元组(您可以使该元组具有一个元素。)

该节点接收消息,但是它执行的操作并不一定需要输出消息。

在第二点中,我不确定您是否要向不同的节点发送消息,或者是否要向同一节点发送不同类型的消息。如果是后者,则可以使用std::variant