Здравствуйте, RealBobEx, Вы писали:
RBE>Хммм... В таком случае должно помогать простое обновление значений итераторов, например так:
RBE>RBE> singleLock.Lock();
RBE> I = m_Vector.begin();
RBE> End = m_Vector.end();
RBE> singleLock.Unlock();
RBE> long i = 0;
RBE> for(I; I < End; )
RBE> {
RBE> singleLock.Lock();
RBE> //Используем I, т.к. теперь он валидный. <- да не фига он не валидный. Про него речь-то !!!
RBE> i++;
RBE> I++;
RBE> End = m_Vector.end();
RBE> singleLock.Unlock();
RBE> }
RBE>
Итератор
I остается старым -> инвалидируется...