Re[2]: Ошибка - deque iterator not dereferencable .
От: Аноним  
Дата: 20.01.09 09:11
Оценка:
Здравствуйте, 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;


Тоже нуждается в синхронизации?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.