0
我对C++非常陌生,我一直在为寻找tbb并发散列映射的初学者教程而徒劳无功。我一直在我的C ++程序中使用boost无序哈希映射,现在我想使用tbb的并发哈希映射,因为多个线程将一次写入哈希映射。从boost无序转换为tbb并发散列映射
我做的升压转换器的哈希表以下四种操作:在MYMAP
string key = "somestring"
int somevalue = 1
myMap[key].push_back(somevalue);
迭代通过所有的键:
typedef boost::unordered_map<string, std::vector<int> > MAP;
MAP myMap;
插入到MYMAP
BOOST_FOREACH(MAP::value_type pair, myMap) { string key = pair.first; }
返回与键相关联的值:
MAP::const_iterator iter = myMap.find("somekey");
我怎样才能达到1,2和3,使用TBB并发哈希映射?请注意,我执行2和3只后所有线程与他们的镶
..因为它不是线程安全的tbb :: concurrent_unordered_map – Anton
需要不需要并发擦除()如果是这种情况,那么为什么tbb具有用于插入和查找的acessor和const accessor? – NewToAndroid
@NewToAndroid,请不要将concurrent_hash_map(使用'erase()'和访问器)与concurrent_unordered_map(使用'unsafe_erase()'和迭代器而不是访问器) – Anton