Я пишу приложение Qt, и у меня есть четырехчасовой цикл (в отдельном потоке). В этом четырехчасовом цикле я должен:QTime или QTimer ждут тайм-аута
- делать вещи с последовательным портом;
- ждать фиксированного периода времени;
- сделать еще несколько вещей с последовательным портом;
- Подождите некоторое количество времени.
- Когда прошло 500 мс, сделайте больше вещей;
- Переход к 1. и повторение в течение четырех часов.
В настоящее время мой способ сделать это очень плохой, и сбой некоторых компьютеров. У меня есть целая куча кода, но следующий фрагмент в основном показывает проблему. Процессор переходит на уровень ~ 100% и, в конечном итоге, может вывести компьютер из строя.
void CRelayduinoUserControl::wait(int timeMS)
{
int curTime = loopTimer->elapsed();
while(loopTimer->elapsed() < curTime + timeMS);
}
Мне нужно как-то дождаться определенного количества времени, прежде чем продолжить с программой. Есть ли какая-то функция, которая будет просто ждать какого-то произвольного периода времени, сохраняя при этом все таймеры?
http://stackoverflow.com/questions/11996706/qt-c-wait-till-specific-time-to-execute-function/14144614#14144614 – formiaczek