【发布时间】:2026-01-01 13:10:01
【问题描述】:
我正在使用 tbb::concurrent_hash_map。我了解插入和删除是安全操作。在插入和删除方面被认为是安全的哈希映射上进行迭代。如果没有,我可以使用任何数据结构进行安全迭代。
【问题讨论】:
标签: concurrency iteration tbb
我正在使用 tbb::concurrent_hash_map。我了解插入和删除是安全操作。在插入和删除方面被认为是安全的哈希映射上进行迭代。如果没有,我可以使用任何数据结构进行安全迭代。
【问题讨论】:
标签: concurrency iteration tbb
由于 C++ 和 TBB 中不支持内存回收 (GC),因此不可能同时确保删除和迭代安全而不会对性能产生重大影响。因此,TBB 有 2 个用于哈希表的并发容器:
concurrent_hash_map 具有安全的 erase() 和元素级访问同步,但 without safe iteration。concurrent_unordered_*(例如concurrent_unordered_map)没有安全的erase()和元素访问同步,但有线程安全的迭代支持。【讨论】: