比较急,向请各位求助了,关于实现微妙或者纳秒级别延迟的问题@@@@
时间:2011-03-08
来源:互联网
我要在用户态的while循环里面加上微妙或者纳秒级别的延迟以让出CPU资源,试过usleep和nanosleep均不管用,延迟时间达不到精度要求,上网搜得到许多回复皆比较杂乱,不知道最为简单精确的实现的方法是什么。多谢各位了。
作者: neyshule 发布时间: 2011-03-08
你是在什么环境?X86 ? LINUX 内核什么版本?USLEEP AND NANOSLEEP 怎么不行?延迟的太多?
作者: accessory 发布时间: 2011-03-08
Linux 2.6.18 在dell的x86服务器上,usleep和nanosleep达不到我要的精度,延迟太大了。
作者: neyshule 发布时间: 2011-03-08
而且我用select(0,NULL,NUL,NULL,&tv)貌似根本不管用啊
作者: neyshule 发布时间: 2011-03-08
我觉得LZ你还是从根本上改变下方法比较好。 你的本意是用微秒或者纳秒级别是睡觉来让出CPU,提高效率,对不对?但是你让出CPU,那么就是想让其他进程切换成running 状态,然后再切换回你自己的进程。而进程切换这个过程本身也是需要一些时间的,我印象中大概也是微秒级别吧。。。反正也是比较费时间的。。。。所以如果你想用进程切换来提高效率,结果却是降低了效率。。。
我觉得你不如加个BUFFER什么的,一次多弄些数据。然后来个毫秒或者更高长时间的SLEEP。其实在USER LEVEL, 运行在普通的LINUX上, 实时性本来就不会太好。。。。
我觉得你不如加个BUFFER什么的,一次多弄些数据。然后来个毫秒或者更高长时间的SLEEP。其实在USER LEVEL, 运行在普通的LINUX上, 实时性本来就不会太好。。。。
作者: accessory 发布时间: 2011-03-08
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28