我想衡量一下usleep的不准确程度。 我的意思是,如果我写在我的程序中 usleep(5000) 睡眠的最长时间是多少?
提前致谢
答案 0 :(得分:3)
除非你有RTOS内核,否则最长时间是永久的。
usleep
(或nanosleep
或任何睡眠)保证等待至少与你告诉它一样,四舍五入到系统计时器粒度,除非信号被捕获。您知道信号是否来自返回值。
在此之后,您的线程将准备好运行,并且最终将由调度程序自行决定再次运行。取决于您不知道的一千个因素,这可能是下一个纳秒或5分钟,或从不。
答案 1 :(得分:2)