1longtimeout_ms =100;//wait time 100ms2structtimespec abstime;3abstime.tv_sec = time(NULL) + timeout_ms /1000;4abstime.tv_nsec = (timeout_ms %1000) *1000000;5pthread_cond_timedwait(&cond, &mutex, &abstime); 以上代码有问题,主要是因为time(NULL)的返回结果的精度是秒级的,那么如果当...
该代码不会睡眠,它会检查条件一段时间。因为你可能没有设置cond ok它只是立即返回。 如果您不愿意在信号周围同步线程,则pthread_cond _wait不是您需要的。检查条件变量如何工作。 如果你想睡几秒精确使用睡眠 如果您想以微秒精度进行睡眠,请使用时间选择。这...
但其实,我们的钟表只需要60个刻度就能完成一天的循环。 Linux的定时器,将时间轮分为了9层,可以说精度很高了。...世界上最准的钟表,每150亿年才会减少一秒。但1秒也是时间,我们依然能够用语言表达出来。纠结准实时性是一个永远没有尽头的答案,除非我们能够操纵原子。