我需要定期执行特定任务,目前正在使用nanosleep。
任务需要每隔一秒或每10秒运行一次。
有没有比这更好的方法:
while(true)
{
doTask();
sleep();
}
沃尔特
答案 0 :(得分:1)
其中一个选项可能是创建一个可以使用指定的超时执行任务的线程。
答案 1 :(得分:0)
您可以使用线程库来创建一个处理运行doTask()的线程。你的主线只是保持睡眠状态,每1秒或10秒运行一次。
这可以通过QTimer和QRunnable来完成。
http://doc.qt.nokia.com/latest/qtimer.html
根据底座,大多数情况下分辨率约为1 ms。根据您的需要,这应该足够了。