Suppoes 나는이 :어떤 작업이 std :: map에서 스레드로부터 안전합니까?
stl::map<std::string, Foo> myMap;
다음과 같은 기능 스레드 안전합니까?
myMap["xyz"] ?
.l.e. 이 거대한 읽기 전용 맵을 여러 스레드에서 공유하고 싶습니다. 하지만 검색하는 것조차 스레드로부터 안전한지 여부는 알 수 없습니다.
감사합니다.
편집 :
모든 내용이 처음 한 번 기록됩니다.
그런 다음 여러 스레드가이 스레드를 읽습니다.
가능한 한 faast로 만들기 위해 잠금을 피하려고합니다. (내가 알고있는 yaya 가능한 조숙 한 최적화)
컨테이너에 내용이 있기 위해서는 그 내용을 기록해야합니다. 따라서 스레드 안전 관심사. –
질문은 우리가 읽기 전용 맵을보고 있음을 지정합니다.이 말은 여러 스레드에서 읽히기 전에 한 스레드에서 완전히 채워 졌다고 가정합니다. –