当前位置:   article > 正文

linux下用select实现精确到睡眠时间小于1秒的sleep函数_select 用于sleep

select 用于sleep
【说明:本文转自http://www.xuebuyuan.com/1585925.html
  1. /*精确度为0.001秒的sleep函数*/
  2. #include <stdio.h>
  3. #include <unistd.h>
  4. #include <stdlib.h>
  5. #include <sys/types.h>
  6. #include <sys/time.h>
  7. #include <sys/select.h>
  8. void sleep_1(unsigned int secs)
  9. {
  10. struct timeval tval;
  11. tval.tv_sec=secs/1000;
  12. tval.tv_usec=(secs*1000)%1000000;
  13. select(0,NULL,NULL,NULL,&tval);
  14. }
  15. //例如:调用sleep_1(500)时,表示睡眠0.5秒
  16. //如果你觉得睡眠1秒时间太长,可以用此方法
  17. //当然,如果你想要更精确的时间控制,可以进行修改:
  18. /*
  19. tval.tv_sec=secs/1000000;
  20. tval.tv_usec=secs%1000000;
  21. 精确度为1微秒(0.000001秒)
  22. */<span style="font-family: 'Microsoft YaHei', 微软雅黑, Arial, 'Lucida Grande', Tahoma, sans-serif; "> </span>
轮循: 一个无限循环..select最后一个参数 设置的很小 毫秒或者几秒的等待 有描述符准备好 则处理 继续循环.没有描述符准备好就结束.继续循环.
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/225081
推荐阅读
相关标签
  

闽ICP备14008679号