处理任务时,例如:
class MyTask: public tbb::task {
private:
int x;
private:
void DoSomething(...){...} // Invoked only inside execute
void DoMore(...){...} // Invoked only inside execute
public:
MyTasks(...){...}
tbb::task* execute(){...}
};
一旦任务运行,是否可以同时执行 DoSomething() 或 DoMore() 或者这些方法只能由开始执行任务的线程调用?
我读到 TBB 允许偷工作,但它偷了什么?它是否窃取了一条数据,对其进行计算并将结果返回给主线程,或者窃取是否有可能执行私有方法?
对不起,如果我的问题不清楚!
谢谢。