如何使用阻塞输入源构建流程图

How to structure a flow graph with a blocking input source

当提供输入图像的源过滤器阻塞等待另一个图像时,修改 Michael Voss 的 Feature Detection 流程图示例的好方法是什么?如果想要为像摄像机这样的连续实时输入源实现此图,则这是一项必需的修改。我知道如果源过滤器函数体正在阻塞等待从输入设备中提取图像,那么一个 tbb 线程将被浪费,因为它是空闲的。

感谢任何指导。

在 TBB 4.3 Update 6 中作为预览功能发布了 async_node。此节点的目标完全符合您的需求。这是文档 https://www.threadingbuildingblocks.org/docs/help/reference/appendices/community_preview_features/flow_graph/async_node_cls.htm

的 link

您可以创建自己的线程,从某些来源检索图像并使用 async_node::async_gateway 将此消息推送到图表。这种方法的优点是图像检索将在 TBB 线程之外完成。这允许在您的线程等待下一张图像时执行其他 TBB 任务。