簡體   English   中英

TBB:可以獲得線程 ID 嗎?

[英]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 中。 有關更多詳細信息,請參閱此內容:

https://software.intel.com/en-us/node/506336

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM