Мне нужно периодически выполнять определенную задачу, и в настоящее время я использую nanosleep.
Задача должна выполняться каждую секунду или каждые 10 секунд.
Есть ли лучший способ сделать эточем:
while(true) { doTask(); sleep(); }
Вальтер
Одним из вариантов может быть создание потока, который будет выполнять задачу с заданным временем ожидания.
Вы можете использовать библиотеку потоков, чтобы создать поток, дескриптор которого запускает doTask ().Ваш основной поток просто спит и работает каждую 1 секунду или 10 секунд.
Это можно сделать с помощью QTimer и QRunnable.
http://doc.qt.nokia.com/latest/qtimer.html
В соответствии сстыковка, разрешение составляет в большинстве случаев около 1 мс.Для ваших нужд этого должно быть достаточно.