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