C++ 11, <functional>
iş parçacığı güvenli alanında bildirilen karma işlev sınıfı nesneleridir? Ör., Bu işlevi birden çok ileti dizisinden çağırmak güvenli midir? tek bir küresel nesne std::hash<std::string> str_hash_global;
varsaC++ 11 std :: hash function nesne sınıfları thread safety
size_t hash1(const std::string& s) {
std::hash<std::string> str_hash;
return str_hash(s);
}
ya, o zaman birden çok iş parçacığı bu ikinci işlevi çağırmak için güvenli?
size_t hash2(const std::string& s) {
return str_hash_global(s);
}
Diğer hususlar bir kenara, karma hesaplanırken dizenin kendisinin aynı anda değiştirilmediğinden emin olun. –