关于定时函数usleep的问题,急

battlejoker battlejoker 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我在一个线程中需要循环从一个缓冲区内读取数据
在每次循环结束后,将线程挂起一段时间
但为了提高实时性,挂起的时间又不能太长
按照man page里的介绍usleep( int n )应该可以休眠n个microsecond
但是我写了个小程序做了一下测试,结果休眠的时间确远大于microsecond数量级,不知道是为什么

测试程序如下:
int main(void)
{

for (int counter = 0; counter <= 1000; counter++)
{
printf("%d\n", counter);
usleep(10);
}

return 0;
}

屏幕打印的结果说明循环的速度很低
我还试过用select定时,也出现了类似的问题……
这是什么原因?
...全文

相关推荐

PHP sleep()函数, usleep()函数

主要介绍了PHP sleep()函数, usleep()函数,需要的朋友可以参考下

weixin_38686153

Linux下实现定时器Timer的几种方法总结

定时器Timer应用场景非常广泛,在Linux下,有以下几种方法: 1,使用sleep()和usleep() 其中sleep精度是1秒,usleep精度是1微妙,具体代码就不写了。使用这种方法缺点比较明显,在Linux系统中,sleep类函数不能保证精度,尤其在系统负载比较大时,sleep一般都会有超时现象。 2,使用信号量SIGALRM + alarm() 这种方式的精度能达到1秒,其中利用了*nix系统的信号量机制,首先注册信号量SIGALRM处理函数,调用alarm(),设置定时长度,代码如下: #include #include void t

weixin_38546308

浅谈linux几种定时函数的使用

下面小编就为大家带来一篇浅谈linux几种定时函数的使用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

weixin_38660327

node-sleep:将sleep()和usleep()添加到node.js

睡觉 通过C ++绑定将 , msleep()和到Node.js。 这主要用于调试。 请注意,由于这是一个C ++模块,因此将需要在要使用它的系统上构建它。 这些调用将通过暂停Node.js的事件循环来阻止所有JavaScript的执行! 选择 使用nodejs 9.3或更高版本时,最好使用 ,它不需要编译此C ++模块。 sleep和msleep功能可以这样实现: function msleep ( n ) { Atomics . wait ( new Int32Array ( new SharedArrayBuffer ( 4 ) ) , 0 , 0 , n ) ; } function sleep ( n ) { msleep ( n * 1000 ) ; } 如果您需要usleep则仍然需要此模块。 用法 var sleep = require('sleep');

薯条说影

USleep.zip

Pytorch版本实现的EEG网络结构以及对应在BCIV4a 上的测试效果!! 其中,main文件为网络结构,res.txt文件为网络模型在数据集上的效果!!

sjx_alo
评论 13
收藏 已收藏
分享
返回顶部
battlejoker
Linux/Unix社区 23,224 成员 74,535 内容