5

我看到在并发安全的情况下tbb::concurrent_unordered_map非常接近。std::unordered_map我也知道这unsafe_erase与 etc 不是并发安全的insert。迭代器文档还指出,任何现有的迭代器对 等仍然insert有效find

问题是,除了被要求擦除的迭代器之外,是否会使任何其他迭代器失效?unsafe_erase

std::unordered_map并且std::map肯定有这种行为,但它没有在concurrent_unordered_map任何地方的文档中指定。

4

1 回答 1

5

tbb::unsafe_erase 不会使其他迭代器无效。这是我们应该记录的属性。

它不会使其他迭代器无效的原因是底层实现是一个拆分有序列表,而迭代器只是指向该列表。

于 2013-11-07T17:03:51.020 回答