【发布时间】:2016-03-26 22:44:23
【问题描述】:
在 c++11 中,<functional> 线程中声明的哈希函数类对象是否安全?例如,从多个线程调用此函数是否安全?
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);
}
【问题讨论】:
-
除其他注意事项外,请确保在计算其哈希值时字符串本身没有被同时修改。
标签: c++ c++11 thread-safety