这部分介绍Intel TBB task scheduler,task scheduler是一个loop模板的引擎,在实际应用中,你应该使用loop模板而不是task scheduler,因为模板隐藏了调度器的复杂度。然而,如果你有一个算法不能映射到高阶模板中的一个,请使用task scheduler。
#include "tbb/tbb.h"
#include
using namespace tbb;
class say_hello
{
const char * id;
public:
say_hello(const char * s) : id(s) { }
void operator( ) () const{
printf("hello from task %s\n",id);
}
};
int main( )
{
task_group tg;
tg.run(say_hello("1")); // spawn 1st task and return
tg.run(say_hello("2")); // spawn 2nd task and return
tg.wait( ); // wait for tasks to complete
}