gpt4 book ai didi

c++ - Tbb 并发 HashMap 迭代器

转载 作者:太空狗 更新时间:2023-10-29 20:40:43 25 4
gpt4 key购买 nike

我正在使用迭代器遍历整个 tbb 并发 HashMap 并检查每个(键,值)对。

for (MAP::pair = myHashTable.begin(); myHashTable.end(); pair++)

我怎样才能并行化这个迭代器?

最佳答案

使用 Reference Manual 中描述的 range() 方法:

HashTable_t myHashTable; // assuming HashTable_t is concurrent_hash_map specialization
tbb::parallel_for( myHashTable.range(), [](const HashTable_t::range_type &r) {
for( HashTable_t::iterator i = r.begin(); i != r.end(); i++);
} );

(我使用 来简洁,但为了 而明确显示类型)

请注意那里的注意事项:

Do not call concurrent operations, including count and find while iterating the table. Use concurrent_unordered_map if concurrent traversal and insertion are required.

关于c++ - Tbb 并发 HashMap 迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22898714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com