TBB parallel_while 使用 demo讲解
来源:互联网 发布:双色球篮球计算法 编辑:程序博客网 时间:2024/05/01 03:47
//这个是我代码里面的一部分,利用parallel_while 循环实现的一个框架
class Body {
tbb::parallel_while<Body>& my_while;
public:
Body( tbb::parallel_while<Body>& w ) : my_while(w) {}
//------------------------------------------------------------------------
// Following signatures required by parallel_while
//------------------------------------------------------------------------
typedef long argument_type;
void operator()( long c ) const {
Function(c); // 这个地方的Function,就是需要自己实现的部分,
}
};
class Stream {
id_queue_type& my_queue;
public:
Stream(id_queue_type& _queue ) : my_queue(_queue) {}
bool pop_if_present( long& item ) {
return my_queue.pop_if_present(item);
}
};
void ParallelPreorderTraversal(id_queue_type& _queue ) {
tbb::parallel_while<Body> w;
Stream s(_queue);
w.run(_queue,Body(w));
}
void StartAlgrorithm()
{
tbb::task_scheduler_init init; // 多线程的初始化
ParallelPreorderTraversal(unBidPersonQueue);
}
Body stream ParallelPreorderTraversal,这个三个部分都是while实现的关键,body和stream是在parallel_while的框架里面只是一个虚函数,可以理解为parallel_while只是给我们提供了一个把循环转换成多线程执行的一个框架,但是具体里面的实现,就得我们实现,重载一下;这个地方就是他的精妙之处,呵呵:)
- TBB parallel_while 使用 demo讲解
- TBB使用心得
- TBB使用教程
- 在Linux下使用TBB
- opencv中使用TBB,IPP
- VS2015和TBB配合使用
- intel线程库tbb的使用
- intel线程库tbb的使用
- intel线程库tbb的使用
- TLV----Demo讲解
- webpack demo 讲解
- Vuex Demo 讲解
- SDL系列讲解(四) demo讲解
- 一个使用TBB Lambda 表达式实现并行执行的例子
- tbb: 使用预编译头文件和静态库
- 并行程序设计简介-使用Intel TBB线程库
- VS2010+OpenCV2.3.1环境下使用tbb加速示例
- Win7和VS2013上使用Intel的TBB
- Observer (Java) - Design Patterns学习笔记(3)
- SQL Server常见安全问题及解决
- 数据库面试题
- 一个高效的数据分页的存储过程 可以轻松应付百万数据
- 袁崇焕诬杀毛文龙
- TBB parallel_while 使用 demo讲解
- VBCode in C# runtime compiling
- 存储过程编写经验和优化措施
- Vista兵败成事实,不成功的十大原因
- 使用SQL存储过程要特别注意的问题-注意顺序读取
- 从炒菜的艺术谈产品研发管理
- Sql存储过程加密和解密
- 《JAVA编程思想》学习备忘(第61页:Everything Is an Object--1)
- Sql Server中删除sa帐户