Как можно делать временные задержки во втором потоке?
Вопрос для меня насущный. Приходится создавать программы для управления внешними датчиками и реле. Как все мы знает управлять нужно циклически с заданными интервалами времени. Если все это управление запихивать в главный поток и по таймеру вызывать то начинает тормозить GUI. Приходится создавать второй поток и в нем управлять. Но как правильно во втором потоке задавать временные интервалы ?
while(true)
{
//управление
//задержка
//..
}
Ответы (1 шт):
Автор решения: gbg
→ Ссылка
Судя по всему, вы второй поток создаете не средствами Qt(или делаете это неверно).
Верный способ подразумевает перемещение объекта в другой поток управления moveToThread().
QThread* thrd = new QThread();
myObject -> moveToThread(thrd);
thrd->start();
После чего, уже в этом объекте можно без проблем насоздавать таймеров.