发布于 2012-08-16 18:11:11
您希望使用clock_gettime()获得当前时间(自启动以来),使用CLOCK_MONOTONIC (单调但不稳定,因为它受NTP的影响)或CLOCK_MONOTONIC_RAW (单调和稳定,但特定于Linux,并且需要内核>= 2.6.28)。
若要准确地间隔醒来,请使用clock_nanosleep()并指定TIMER_ABSTIME。不幸的是,clock_nanosleep()只支持CLOCK_MONOTONIC而不支持CLOCK_MONOTONIC_RAW,因此不能传递CLOCK_MONOTONIC_RAW获得的唤醒时间,因为这些时钟可能不同。不要忘记检查EINTR的返回代码。
https://stackoverflow.com/questions/11992937
复制相似问题