我想使用 tbb 管道来并行处理令牌。
但我不需要在中间过滤器期间取消分配和重新分配令牌。可以简单地就地修改并返回它吗?例如,我想做:
class MiddleFilter
{
SomeClass* operator() (SomeClass* input)
{
input->somevalue *= 2;
return input;
}
}
并打电话
tbb::parallel_pipeline(nbtoken, someinputfilter
& tbb::make_filter<SomeClass*, SomeClass*>(tbb::filter::parallel, MiddleFilter())
& someoutputfilter)
SomeClass
将在输入和输出过滤器中分配和释放。