我有一个数据处理模型,它由许多处理数据 block 的算法链组成。 每条链都是一个算法图,我用 TBB 图类实现了它。
现在我想要一个类似“图池”的东西,即任务池,每个任务都包含一个 tbb::graph。通过这种方式,我可以在数据 block 上并行运行算法链。
您能否指出类似于“图池”的任何 TBB 示例,或者您是否可以建议和提示来实现它?
最佳答案
我的建议是您使用 tbb::concurrent_queue 或 tbb::concurrent_vector ,它的优点是您可以在多次访问期间调整它的大小。我个人对此的提示是,创建一个锁/图形对象,这样您就永远不会并行修改对象。
http://threadingbuildingblocks.org/wiki/index.php?title=Concurrent_Vector
可以在此处找到队列的示例: https://sites.google.com/site/samplecodesproject/tbb/containers-3/concurrent_queue
关于c++ - 英特尔 TBB : pool of graphs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9583861/