【问题标题】:Can C++ std::vector handle push_back from multithreads at the same time?C++ std::vector 可以同时处理来自多线程的 push_back 吗?
【发布时间】:2014-10-13 02:06:18
【问题描述】:

我有一个多线程程序,每个线程都会返回一个字符串,然后它将存储在一个共享的向量容器中。我想知道 std::vector 是否可以处理这种情况,或者我必须使用锁来保护它?

【问题讨论】:

  • 你需要一个互斥体或类似的,向量不是线程安全的。
  • 感谢您的帮助!

标签: c++


【解决方案1】:

没有。除了少数方法,只有 const 方法是并发安全的。

(那些例外是迭代器获取/索引访问方法)

如果任何线程进行这种非const 访问,则任何其他线程都不能进行任何访问。

【讨论】:

  • 得到它!非常感谢。
猜你喜欢
  • 2021-06-02
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2013-10-15
  • 2021-06-18
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多