У меня есть программа multithreads, в которой каждый поток будет возвращать строку, а затем он будет храниться в общем векторном контейнере. Интересно, может ли std :: vector обрабатывать этот случай, или я должен использовать блокировки для его защиты?Может ли C++ std :: vector обрабатывать push_back из multithreads одновременно?
1
A
ответ
2
№ Запрет на использование нескольких методов, только методы const
являются безопасными для параллелизма.
(эти исключения итераторы получают методы доступа/индекса)
Если какой-либо поток делает такой не- const
доступа, никакой другой поток не может сделать любой доступ.
+0
Получите это! Большое спасибо. – Bent
Смежные вопросы
- 1. std :: vector push_back() semantics
- 2. Примеры, где std :: vector :: emplace_back медленнее, чем std :: vector :: push_back?
- 3. эффективный push_back в std :: vector
- 4. Ошибка с std :: vector push_back
- 5. std :: vector emplace_back vs std :: deque push_back?
- 6. vector push_back over std :: copy
- 7. std :: vector push_back() вылетает из программы
- 8. C++ vector using push_back
- 9. C++ Vector, push_back из другого потока сбой?
- 10. struct vector push_back C++
- 11. std :: vector push_back результаты в доступе Нарушение
- 12. std :: vector :: push_back throws segmentation fault
- 13. Изменения в C++, когда push_back новый элемент в std :: vector
- 14. Является ли std :: vector копированием объектов с помощью push_back?
- 15. Может ли std :: vector be = 'd использовать другой std :: vector?
- 16. Создает ли std :: vector push_back глубокую копию аргумента?
- 17. C++: push_back в std :: vector при повторении его
- 18. vector push_back не работает
- 19. C++ vector push_back нарушение прав доступа
- 20. Может get_line напрямую заполнить std :: vector <std::string>?
- 21. C++ vector push_back с указателем объекта
- 22. О C++ vector :: push_back() исключения. Эллипсис полезен?
- 23. Можно ли одновременно удалить и получить копию объекта из C++ std :: vector или std :: deque?
- 24. STL Vector push_back()
- 25. vector push_back показывает абсурдный результат
- 26. Vector push_back Массив парных разрядов
- 27. Vector push_back: не преобразовывает параметр
- 28. C++ vector: push_back массив int => Скомпилирован ли массив?
- 29. не может удалить std :: vector & std :: array?
- 30. C++ Vector of Struct using push_back
Вам нужны замки. –
Вам нужен мьютекс или аналогичный, вектор не является потокобезопасным. –
Спасибо за помощь! – Bent