【发布时间】:2014-04-30 09:47:53
【问题描述】:
在我之前的问题中,我使用 C++ (Linux) 和输入、转换和输出过滤器实现了一个 TBB 管道:
incorrect output with TBB pipeline
输入过滤器正在从文本文件中读取数据(C 结构)并传递给转换过滤器。变换过滤器正在更新数据并将其传递给输出过滤器。输出过滤器将其存储回光盘上。一个简单的读写应用程序。
现在,我正在寻找创建一个 MAIN 应用程序。 MAIN 应用程序将在开始时创建一个带有三个过滤器的 TBB 管道:
- InputFilter : 从主应用程序接收数据/C 结构并将其传递。
- TransformFilter:做一些处理。
-
OutputFilter : 接收它并将信息返回给主应用程序。
一开始,InputFilter 不会做任何事情,因为 data/C 结构将为空。所以它会循环或等待。
MAIN 应用程序将从文件中读取数据并将信息传递给 InputFilter(如果需要)。 InputFilter 然后将处理它并将其传递给下一个过滤器,依此类推。所以不同的是:
输入由 MAIN 应用程序控制,而不是在 InputFilter 中(就像我之前所做的那样)。一种方法是通过引用 InputFilter 来传递 data/C 结构,然后通过 MAIN 应用程序对其进行更新。但问题是:
控件永远不会从 InputFilter 返回到 MAIN 应用程序。任何帮助将不胜感激! !
【问题讨论】:
标签: c++ multithreading parallel-processing intel tbb