Я объявил вектор как
typedef std :: vector
SampleList;
и объявил переменную-член типа Samplist в классе.
Я обращаюсь к этому вектору из другого класса с несколькими потоками.
Я добавляю, удаляю, считываю значения значений из разных потоков. Я часто читаю это значение, например, следующее:
SampleList* listSample;
listSample= ptr->GetList();
while(true)
{
SampleList::iterator itrSample;
itrSample = listSample->begin();
unsigned int nId = 0;
for ( ; itrSample < listRoundRobinSensor->end(); ++itrSample )
{
nId =(unsigned int) *itrSample ;
}
}
Значение itrSample становится ненужным, например 4261281277 .
Я пытался защитить этот список с помощью критического раздела
. Тем не менее, у меня есть эта проблема. Можете подсказать и решение. Это будет мне очень полезно.