Notwithstanding (17.6.5.9), implementations are required to avoid data races when the contents of the contained object in different elements in the same sequence, excepting vector<bool>, are modified concurrently.
C++ standard library implementations are required to avoid data races when different elements in the same sequence are modified concurrently.
В общем В многопотоке безопасен только доступ к разным элементам и их изменение Если у тебя есть хоть один поток, который может изменить сам контейнер, то это уже небезопасно