LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 685|回复: 5

怎样获得高精度的延迟

[复制链接]
发表于 2004-10-9 09:31:19 | 显示全部楼层 |阅读模式
想达到毫秒级,想用nanosleep但是此函数
在进程有信号时总会提前返回,导致延迟一点都不准确
本想在调用此函数时阻塞所有的信号然后再开启
但是在期间有很多信号须处理,会出问题。
想用定时器但是有多个潜在的进程中要用到延迟
。大家帮我想想办法
发表于 2004-10-9 11:12:56 | 显示全部楼层
要完全达到毫秒级恐怕不容易。linux的进程调度时间片最小是以10毫秒为单位的。
 楼主| 发表于 2004-10-9 14:55:49 | 显示全部楼层
精确到20ms左右就行了,但是现在是睡眠时间太短
本想让它睡眠250ms有时候也就几十毫秒就提前返回了
加上信号阻塞函数能睡眠准确 但是又不能处理信号
发表于 2004-10-9 15:07:04 | 显示全部楼层
试试select吧。
发表于 2004-10-10 09:12:45 | 显示全部楼层
select在进程收到信号的时候也会退出,即使在sigaction()时设置了不中断系统调用
发表于 2004-10-10 11:44:37 | 显示全部楼层
setitimer呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表