linux 应用程序中select定时器
来源:互联网 发布:自由现金流知乎 编辑:程序博客网 时间:2024/06/03 16:01
1.在应用程序中使用select实现1ms的定时器:通过select实现毫秒级的延时,代码如下:
/* ms Timer */int msSleep(long ms) { struct timeval tv; tv.tv_sec = ms/1000; tv.tv_usec = (ms%1000)*1000; return select(0, NULL, NULL, NULL, &tv);}
创建一个线程Timer,循环处理延时,实现循环定时器
void *Timer(void *arg){ for(;;){ msSleep(1);//1ms /*** 其他变量处理***/ }}
2.在程序其他地方调用,实现500ms定时处理,发现:
(1)在ubuntu 12.04下运行应用程序,定时时间根本没法保证,原定500ms的定时时间可能800ms甚至超过1s
(2)在嵌入式开发板上运行应用程序,定时时间相对稳定一些,在530 ~ 550 Ms左右,但是与理论的500ms还是有较大偏差。
从上面可看出,这种定时实现方法在不同的运行环境下偏差不定,没办法满足较精确的定时要求。看来,得想其他的办法来实现精确定时了,其他的软件定时器实现方法?使用硬件定时器?
0 0
- linux 应用程序中select定时器
- linux定时器之select
- linux应用程序中的定时器
- linux应用程序中的定时器
- Linux下使用select实现超级定时器
- linux使用select实现精确定时器详解
- linux下使用select实现精确定时器
- linux使用select实现精确定时器详解
- linux下使用select实现精确定时器
- linux下使用select实现精确定时器
- linux下使用select实现精确定时器
- windows和linux下select定时器demo
- linux中使用定时器
- linux中定时器 setitimer()
- linux中crontab定时器
- linux中crontab定时器
- linux应用程序中的延时和定时器
- 在win32控制台应用程序中实现定时器
- 005数据库基础原理笔记
- PAT(Python)-1015:德才论(25)
- scheduler_tick函数
- 分类游戏
- HTTP图解(一)基础篇
- linux 应用程序中select定时器
- tensorflow代码全解析 -1- TensorBoard 入门案例
- 【CSS3】CSS3中的Rem值与Px之间的换算
- javascript正则表达式
- Rxjava+Retrofit+Mvp的使用实例(基于retrofit2.1.0)
- c3p0连接池链接为关闭引起的tomcat启动问题
- 前端动画渲染引擎pixi.js系列(2)container和Sprite的概念和继承关系
- jstring
- [linux-内核][转]内核日志及printk结构浅析