2013年2月23日星期六

Linux平台延时之sleep、usleep、nanosleep、select比较


sleep的精度是秒
usleep的精度是微妙,不精确
select的精度是微妙,精确
struct timeval delay;
delay.tv_sec = 0;
delay.tv_usec = 20 * 1000; // 20 ms
select(0, NULL, NULL, NULL, &delay);

nanosleep的精度是纳秒,不精确
unix、linux系统尽量不要使用usleep和sleep而应该使用nanosleep,使用nanosleep应注意判断返回值和错误代码,否则容易造成cpu占用率100%。

没有评论:

发表评论