c++ - 英特尔 TBB : pool of graphs

标签 c++ multithreading graph tbb

我有一个数据处理模型,它由许多处理数据 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/

相关文章:

c++ - 在结构定义中声明一个结构堆栈

c++ - 自定义 QProgressBar

Android:使用 AsyncTask 时出现 "Calling thread must be a prepared Looper thread"错误

recursion - Gremlin 查询以查找特定节点以任何方式连接到的整个子图

java - 与 Bunnies Stack OverFlow 一起运行的 Google Foobar Level 4

c++ - 添加断点并运行程序时无法访问地址处的内存

C++ 宏参数

python - 在 Python 中限制函数执行

multithreading - Azure函数返回唯一的序列号

r - 如何从图中获取从节点到节点的边权重之和