W C++ 11 są obiekty klasy funkcji skrótu zadeklarowane w <functional>
bezpieczne wątku? Np. Czy można bezpiecznie wywoływać tę funkcję z wielu wątków?C++ 11 std :: funkcja hash klasa obiektów bezpieczeństwo wątku
size_t hash1(const std::string& s) {
std::hash<std::string> str_hash;
return str_hash(s);
}
lub, jeśli ktoś ma globalny obiekt std::hash<std::string> str_hash_global;
, wówczas jest to bezpieczne, aby wywołać tę drugą funkcję z wielu wątków?
size_t hash2(const std::string& s) {
return str_hash_global(s);
}
Pomijając inne względy, upewnij się, że sam ciąg nie jest modyfikowany jednocześnie, podczas gdy jego wartość jest obliczana. –