这两个函数中哪一个更好
#include <time.h>
int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp);或
#include <time.h>
int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);发布于 2011-10-17 22:18:51
与nanosleep相比,clock_nanosleep的优势在于:
ntpd等重置。使用nanosleep和预先计算睡眠间隔以达到给定的绝对时间,如果时钟被重置并且所需的时间“提前”到达,您将无法唤醒。此外,使用间隔时间进行调度有一个竞争条件:如果您计算了想要睡眠的间隔,但在调用nanosleep之前被抢占,并且一段时间内不再进行调度,那么您将再次睡眠过长。https://stackoverflow.com/questions/7794955
复制相似问题