【发布时间】:2012-02-20 23:45:20
【问题描述】:
我有多个线程同时在std::vector 的共享对象上调用push_back()。 std::vector 线程安全吗?还是我需要自己实现该机制以使其线程安全?
我想避免做额外的“锁定和释放”工作,因为我是图书馆用户而不是图书馆设计师。我希望为vector寻找现有的线程安全解决方案。 boost::vector 怎么样,它是从 boost1.48.0 开始新引入的。它是线程安全的吗?
【问题讨论】:
-
这必须是一个副本。但是,不,没有一个标准容器是线程安全的。
-
不完全是骗局,但相关:stackoverflow.com/questions/1099513/…
-
“线程安全”下的此链接应涵盖您需要的所有信息:en.cppreference.com/w/cpp/container。
标签: c++ boost stl thread-safety std