关于Linux下的高精度定时器
来源:互联网 发布:耐脏打扮知乎 编辑:程序博客网 时间:2024/06/06 16:51
操作系统的默认定时器的精度是很低的,比如在windows下调用Sleep(20)延时20毫秒,实际上80毫秒都可能。
做媒体服务器,免不了需要高精度的定时器,比如语音会议,需要很精确地每20毫秒进行一次混音并通过rtp发送。
我们的媒体库原来只在windows下实现,使用了windows写的高性能定时器的一组函数:
CreateTimerQueue()
CreateTimerQueueTimer()
当然,在开始的时候要使用timeBeginPeriod(1)将时间精度设到1毫秒。性能相当不错。最近开始将媒体库移植到Linux系统,幸运的是,Linux也有高精度的定时器。网上可以搜到内核下的一组函数:
hrtimer_init()
hrtimer_start()
hrtimer_cancel()
等等。但内核函数不方便供应用层调用,需要使用一组所谓的POSIX timer 接口:
timer_create()
timer_settime() // 这个函数将定时器设置信号,定时器就可以周期性地发送信号给调用者了。
经过测试,精度和性能与windows相当。
上述函数的具体使用,可以参考说明文档,并不难。
可惜,这组POSIX timer 接口,在Mac OS X下并不支持。
0 0
- 关于Linux下的高精度定时器
- Linux下的hrtimer高精度定时器
- Linux下的高精度时间获得与定时器
- Linux下的高精度时间获得与定时器
- linux下jiffies定时器和hrtimer高精度定时器
- linux下jiffies定时器和hrtimer高精度定时器
- linux下jiffies定时器和hrtimer高精度定时器
- Linux的hrtimer高精度定时器的使用
- linux 高精度定时器例子
- 关于linux下定时器,多定时器
- 高精度的定时器:dispatch_source_t
- Linux下的定时器
- Linux下的定时器
- Linux下的定时器
- Linux下的定时器
- linux 下的定时器。
- Linux下的定时器
- linux下的定时器
- JavaScript之继承
- python 爬虫 教程(3)
- Ajax的XMLHttpRequest
- 二分图匹配
- C++将字符串按空格分开并分别保存
- 关于Linux下的高精度定时器
- 中文日历终于有Snap版了
- JS 动态命名变量
- Android 在应用中,跳转到该应用的详细设置页面,设置权限页面
- Maya模型动画导入UE4的问题
- Linux常用命令使用
- sql查询语句的一些注意事项
- VPN篇(5.4) 02. IPsec VPN
- SQL NULL 函数