STL里面的vector是否线程安全

自己查了下,是不保证线程安全的,谁可以详细说下,谢谢了!
2025-04-28 11:38:47
推荐回答(3个)
回答1:

线程安全性不是一个非真即假的命题,Vector 的方法都是同步的,并且 Vector 明确地设计为在多线程环境中工作。但是它的线程安全性是有限制的,即在某些方法之间有状态依赖(类似地,如果在迭代过程中 Vector 被其他线程修改,那么由 Vector.iterator() 返回的 iterator会抛出ConcurrentModifiicationException)

以上是我在百度百科里面看到的一段话,就是STL当有两个线程对同一个容器进行写操作时就会以抛出异常的方式去阻止这种破坏安全性的操作行为

回答2:

我记得STL里面的东西基本都是线程不安全的,你需要自己用mutex之类的线程同步机制来保证你想要使用的对象的线程安全。
不知道怎么样才能算详细,欢迎追问。

回答3:

stl的所有容器都是读安全,写不安全的;