我正在使用boost:线程库将单线程程序更改为多线程。该程序使用unordered_map作为hasp_map进行查找。我的问题是......unordered_map线程安全
一次有很多线程正在写入,而另一个线程正在读取,但不是同时读取和写入,即所有线程都将读取或全部写入。这将是线程安全的,并为此设计的容器?如果真的如此,它是否真的是并行的,并提高性能?我需要使用一些锁定机制吗?
我在某处读到C++标准所说的行为将会是未定义的,但是这一切吗?
更新:我也在考虑英特尔concurrent_hash_map。这会是一个不错的选择吗?
“但是,所有”...作为UB应该足以不这样做。 – PlasmaHH 2012-03-13 14:02:43
阅读本文http://stackoverflow.com/questions/1362110/is-the-c-stl-stdset-thread-safe – xanatos 2012-03-13 14:03:41
@PlasmaHH如果它是特定于实现的,它可能是,如果您想为此编写代码实现者。如果您为Windows编写代码,Microsoft实施某些方法对您来说可能就足够了。 – xanatos 2012-03-13 14:04:33