我正在寻找线程安全映射的解决方案,但包括tbb所有内容库都不是线程安全的用于擦除,清除函数。我不想因为性能问题使用互斥锁。我在互联网上搜索了很长时间,但我仍然无法找到任何有关这方面的例子,而且我对长文章也有不好的看法。我搜索了很多东西,例如const,对于C++ 11来说是线程安全的但我无法弄清楚。线程安全的TBB :: concurrent_hash_map擦除
我试图复制地图,但它也不是线程安全的。
__forceinline ActiveMap & GetActiveMap() { return m_activeCollection; }
此代码崩溃时,我试图复制地图,而另一个线程在它。
你错了,'tbb :: concurrent_hash_map :: erase'是线程安全的 – Anton
整个容器操作如赋值或拷贝不是线程安全的。您可以使用'tbb :: spin_rw_lock'为了保护它以便拍摄快照 – Anton