C++标准库中并没有提供标准的hash_map
容器,但是unordered_map
容器是C++11标准引入的,它是基于哈希表实现的容器。unordered_map
是不是线程安全的主要取决于具体的实现和使用方式。
在标准库中,unordered_map
并不是线程安全的,也就是说在多线程环境下对unordered_map
进行并发读写操作是不安全的。如果需要在多线程环境下使用unordered_map
容器,可以考虑使用std::shared_mutex
或者其他线程安全的并发容器进行保护。
另外,一些第三方库可能提供了线程安全的哈希表实现,可以根据具体情况选择合适的库来使用。