[英]TBB: Possible to get Thread IDs?
我有一個非常簡單的 parallel_for 循環
tbb::parallel_for(tbb::blocked_range<int>(0, values.size()),
[&](tbb::blocked_range<int> r)
{
for (int i = r.begin(); i < r.end(); ++i)
{
values[i] = std::sin(i * 0.001);
}
});
其中“值”是雙精度向量。 我想知道的是哪些線程在循環中的哪個范圍內工作。 是否可以從 TBB 獲取某種線程 ID?
此外,如果您想知道當前task_arena 中從 0 到 arena 並發級別的工作線程的相對數量,請使用以下命令:
int worker_index = tbb::task_arena::current_thread_index();
如果所有線程同時開始工作,索引值的范圍可以是連續的。
看起來解決方案是使用
tbb::this_tbb_thread::get_id()
在 tbb_thread.h 中。 有關更多詳細信息,請參閱此內容:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.