在C++ 11中是在<functional>
中聲明的哈希函數類對象的線程安全嗎?例如,從多個線程調用這個函數是否安全?C++ 11 std ::哈希函數對象類線程安全
size_t hash1(const std::string& s) {
std::hash<std::string> str_hash;
return str_hash(s);
}
或者,如果一個人有一個全局對象std::hash<std::string> str_hash_global;
,那麼它是安全調用多個線程第二個功能?
size_t hash2(const std::string& s) {
return str_hash_global(s);
}
除此之外的其他考慮,確保字符串本身在計算散列值時不會被同時修改。 –