线程安全 TBB::concurrent_hash_map 擦除
Thread-safe TBB::concurrent_hash_map erase
我正在寻找线程安全映射的解决方案,但包括待定所有内容库都不是线程安全的,无法擦除,清除 functions.I 由于性能原因不想使用互斥体 issues.I我在互联网上搜索了很长时间,但我仍然找不到任何关于这个的例子,而且我的英语也很糟糕 articles.I 搜索了很多东西,比如 const 对于 c++11 是线程安全的但我想不通。
我试过这个来复制地图,但它也不是线程安全的。
__forceinline ActiveMap & GetActiveMap() { return m_activeCollection; }
当我尝试在另一个线程中复制地图时,此代码崩溃。
(由于 __forceinline
关键字,我猜你正在使用 Visual C++)
Visual studio 2013(我猜 Visual studio 2015)带有一小组并发数据结构。 header <concurrent_unordered_map.h>
实现了您可以使用的并发映射。
尝试使用锁分析您的应用程序。 Slim reader writer lock 通常还不错,可能就足够了。
我正在寻找线程安全映射的解决方案,但包括待定所有内容库都不是线程安全的,无法擦除,清除 functions.I 由于性能原因不想使用互斥体 issues.I我在互联网上搜索了很长时间,但我仍然找不到任何关于这个的例子,而且我的英语也很糟糕 articles.I 搜索了很多东西,比如 const 对于 c++11 是线程安全的但我想不通。
我试过这个来复制地图,但它也不是线程安全的。
__forceinline ActiveMap & GetActiveMap() { return m_activeCollection; }
当我尝试在另一个线程中复制地图时,此代码崩溃。
(由于 __forceinline
关键字,我猜你正在使用 Visual C++)
Visual studio 2013(我猜 Visual studio 2015)带有一小组并发数据结构。 header
<concurrent_unordered_map.h>
实现了您可以使用的并发映射。尝试使用锁分析您的应用程序。 Slim reader writer lock 通常还不错,可能就足够了。