Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Помогите разобраться с QMutex и QWaitCondition


Автор: SiNn3R 17.12.2010, 20:31
Итак, есть переменные:
Код

QMutex mutex;
QWaitCondition qwaitcondition;
QList<Object> obj[200];


Функция, выполняющаяся в 1 потоке:
Код

...
mutex.lock();
//<здесь работа obj[200];>
mutex.unlock();
...


Функция, выполняющаяся во 2 потоке:
Код

...
mutex.lock();
//<здесь работа с obj[200];>
mutex.unlock();
...


Суть в следующем: в 1 потоке идёт работа со списком, а во 2 - добавление в список 1 потока новых элементов... Куда нужно вставлять qwaitcondition? Пробовал в разные места - либо вываливается с ошибкой, либо виснет в ожидании wakeAll. Или нужно добавлять 2 QWaitCondition? 

Автор: null56 20.12.2010, 23:21
QWaitCondition предназначен для того, чтобы заставить один поток ждать, вопрос к тебе: кто кого должен ждать
? при каких условиях просыпаться?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)