Спрашивающий знает, что если у вас есть потоки, которые пишут в коллекцию, пользователь должен управлять синхронизированной блокировкой.
Похоже, вопрос заключается в том, может ли стандарт гарантировать безопасность потоков, если одновременные потоки только читаютколлекция.
Я не уверен, что у старых стандартов C ++ были какие-либо гарантии безопасности потоков при любых операциях вообще, но новая будет (раздел дан в комментариях, 23.2.2).В настоящее время большинство поставщиков гарантируют безопасность потоков при одновременных чтениях, несмотря на то, что параллелизм внутри объектов, содержащихся в коллекции, очевидно, должен обрабатываться пользователем.
Таким же образом высможет использовать блокировки чтения-записи в коллекции STL.
Это связанный вопрос о переполнении стека:
Потоковая безопасность std :: map для операций только для чтения
Безопасен ли C ++ std :: set для потоков?