Здравствуйте, Bell, Вы писали:
B>Здравствуйте, Аноним, Вы писали:
А>>Во время дебага напарываюсь на эту ошибку. В приложении два потока — основной и дополнительный. В каждом используются элементы из deque чрез итераторы. Итераторы в каждом потоке свои собственные. Deque вообще с мультипоточностью дружит?
B>Без синхронизации можно только читать. Если кто-то производит запись, то нужна синхронизация.
Понятно,но не до конца. Под записью что понимать? Я использую:
deque_pBuffers.push_back(pBuffer);
deque_pBuffers.push_front(pBuffer);
deque_pBuffers.pop_back()
Только эти операции нужно синхронизировать?
Или получение элемента по итератору:
deque<sBuffer*>::iterator i;
i = deque_pBuffers.begin();
pBuffer = *i;
Тоже нуждается в синхронизации?