Linux平台延时之sleep、usleep、nanosleep、select比较
1、sleep的精度是秒
2、usleep的精度是微妙,不精确
3、select的精度是微妙,精确
struct timevaldelay;
delay.tv_sec =0;
delay.tv_usec =20 * 1000; // 20 ms
select(0, NULL,NULL, NULL, &delay);
4、nanosleep的精度是纳秒,不精确
unix、linux系统尽量不要使用usleep和sleep而应该使用nanosleep,使用nanosleep应注意判断返回值和错误代码,否则容易造成cpu占用率100%。
无论是WinCE还是Linux操作系统,应用线程的运行总是涉及到两个基本的参数:一个是系统分配给线程的时间片,一个是系统调度的时间间隔。Linux和WinCE下这两个参数有所不同,如下表所示:
|
|
WinCE |
|
Linux延时技巧详解

本文详细介绍了Linux系统中实现进程延时的各种方法,包括sleep、usleep、nanosleep及select等函数的区别与应用场景,并探讨了不同延时方法的精确度及其实现原理。
最低0.47元/天 解锁文章
1656

被折叠的 条评论
为什么被折叠?



