【发布时间】:2019-01-25 22:35:22
【问题描述】:
我有一个使用tbb::enumerable_thread_specific 变量的代码,并且在调用堆栈的深处使用了线程局部变量。幼稚的实现导致大量的local() 函数调用。
现在我想通过分层传递参数来避免local() 函数调用。有没有更简单的方法来做到这一点?如果我不将 Foo 作为参数传递,我有很多地方有 local() 函数调用,但如果我这样做,代码会很混乱。我一直在寻找大小等于线程数的数组的可能用法,并使用thread-id 来访问线程局部变量,但似乎 tbb 没有提供这一点(与 OpenMP 中的omp_get_thread_num() 相比)。
在此处查看更多说明: https://software.intel.com/en-us/forums/intel-threading-building-blocks/topic/804043
【问题讨论】:
标签: c++ multithreading tbb