2014-10-13 3 views
1

У меня есть программа multithreads, в которой каждый поток будет возвращать строку, а затем он будет храниться в общем векторном контейнере. Интересно, может ли std :: vector обрабатывать этот случай, или я должен использовать блокировки для его защиты?Может ли C++ std :: vector обрабатывать push_back из multithreads одновременно?

+1

Вам нужны замки. –

+0

Вам нужен мьютекс или аналогичный, вектор не является потокобезопасным. –

+0

Спасибо за помощь! – Bent

ответ

2

№ Запрет на использование нескольких методов, только методы const являются безопасными для параллелизма.

(эти исключения итераторы получают методы доступа/индекса)

Если какой-либо поток делает такой не- const доступа, никакой другой поток не может сделать любой доступ.

+0

Получите это! Большое спасибо. – Bent

Смежные вопросы