usleep 不准确,本来想slepp 50us, 但结果是20ms [问题点数:20分,结帖人zhengyinhe]

Bbs1
本版专家分:10
结帖率 87.5%
Bbs1
本版专家分:10
Bbs1
本版专家分:0
Bbs7
本版专家分:16696
Blank
红花 2007年12月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2008年6月 Linux/Unix社区大版内专家分月排行榜第二
2008年4月 Linux/Unix社区大版内专家分月排行榜第二
2008年1月 Linux/Unix社区大版内专家分月排行榜第二
2007年11月 Linux/Unix社区大版内专家分月排行榜第二
2007年10月 Linux/Unix社区大版内专家分月排行榜第二
2007年8月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2008年8月 Linux/Unix社区大版内专家分月排行榜第三
2008年5月 Linux/Unix社区大版内专家分月排行榜第三
Bbs7
本版专家分:17752
Blank
红花 2007年10月 扩充话题大版内专家分月排行榜第一
2007年11月 Linux/Unix社区大版内专家分月排行榜第一
2007年10月 Linux/Unix社区大版内专家分月排行榜第一
2007年9月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2007年12月 Linux/Unix社区大版内专家分月排行榜第二
Bbs3
本版专家分:552
Bbs7
本版专家分:16696
Blank
红花 2007年12月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2008年6月 Linux/Unix社区大版内专家分月排行榜第二
2008年4月 Linux/Unix社区大版内专家分月排行榜第二
2008年1月 Linux/Unix社区大版内专家分月排行榜第二
2007年11月 Linux/Unix社区大版内专家分月排行榜第二
2007年10月 Linux/Unix社区大版内专家分月排行榜第二
2007年8月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2008年8月 Linux/Unix社区大版内专家分月排行榜第三
2008年5月 Linux/Unix社区大版内专家分月排行榜第三
Bbs7
本版专家分:16696
Blank
红花 2007年12月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2008年6月 Linux/Unix社区大版内专家分月排行榜第二
2008年4月 Linux/Unix社区大版内专家分月排行榜第二
2008年1月 Linux/Unix社区大版内专家分月排行榜第二
2007年11月 Linux/Unix社区大版内专家分月排行榜第二
2007年10月 Linux/Unix社区大版内专家分月排行榜第二
2007年8月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2008年8月 Linux/Unix社区大版内专家分月排行榜第三
2008年5月 Linux/Unix社区大版内专家分月排行榜第三
Bbs7
本版专家分:16696
Blank
红花 2007年12月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2008年6月 Linux/Unix社区大版内专家分月排行榜第二
2008年4月 Linux/Unix社区大版内专家分月排行榜第二
2008年1月 Linux/Unix社区大版内专家分月排行榜第二
2007年11月 Linux/Unix社区大版内专家分月排行榜第二
2007年10月 Linux/Unix社区大版内专家分月排行榜第二
2007年8月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2008年8月 Linux/Unix社区大版内专家分月排行榜第三
2008年5月 Linux/Unix社区大版内专家分月排行榜第三
Bbs4
本版专家分:1226
sleep和usleep的疑惑
sleep的精度是秒级的,<em>usleep</em>的精度是微秒级的。 我创建一个线程,每隔一毫秒累加计数,在线程每隔一秒查看一下计数,按照正常推算,1秒为1000毫秒,那打印结果应该是按1000增长,但是程序运行
msleep找不到库,怎么回事。。
找不到该用哪个库,用sleep速度太慢了,msleep又找不到库,闷
Linux和Windows下的sleep与usleep的区别
一、sleep (1)头文件 在windows下头文件:#include&amp;lt;windows.h&amp;gt; 在Linux下的头文件:#include&amp;lt;unistd.h&amp;gt;   //unistd.h是Linux系统编程中最重要的文件,包含了操作系统为程序员提供的API(应用程序接口) (2)功能 执行程序挂起指定的秒数,参数单位为秒 二、<em>usleep</em> (1)头文件 该函数不...
usleep函数
<em>usleep</em>功能把进程挂起一段时间, 单位是微秒(百万分之一秒); 头文件: unistd.h 语法: void <em>usleep</em>(int micro_seconds); 返回值: 无 内容说明:本函数可暂时使程序停止执行。参数 micro_seconds 为要暂停的微秒数(us)。 注意: 这个函数不能工作在windows 操作系统中。用在Linux的测试环境下面。 参见:usle
浅谈php休眠函数,sleep()与usleep()的区别
在开发过程中,有时候会根据情况在执行完一段程序后“休息”一段时间再执行下一段程序,在定时任务中尤为常见。我们知道在php里面有两个“休息函数”,一个是sleep(),另外一个是<em>usleep</em>();那么两者有什么区别呢?其实这两个函数的功能是一样的,区别在于“休息”时间的精确度,对于sleep()来说,最小单位为秒,也就是说使用sleep()的话最少只能休息1秒;而<em>usleep</em>()的最...
在GCC中,sleep函数的头文件是什么?
我想尝试一下sleep函数,但编译就是不成功,说 C:\Documents and Settings\clerk\My Documents\test.cpp|11|error: `sleep' was
C++ sleep() 和 usleep() 的区别
C++ sleep() 和 <em>usleep</em>() 的区别 代码如下:设置一个时间参数,分别向sleep()和<em>usleep</em>()方法传入该参数,打印sleep和<em>usleep</em>前后的系统时间戳 #include &lt;time.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;unistd.h&gt; using n...
《C语言》Sleep、usleep、delay
Sleep函数: 功 能: 执行挂起一段时间   用 法: unsigned sleep(unsigned seconds);   或者,直接 #include &lt;windows.h&gt; Sleep(1); 我是在《实战105例》的第13例,时钟程序中遇到。 注意:   在VC中使用带上头文件#include &lt;windows.h&gt;,在Linux下,gcc编...
usleep() 函数
查看更多 https://www.yuque.com/docs/share/24e68431-0952-4349-87f1-454a3fc61a18
为什么vs2010中sleep函数用不了
刚开始学C,想让程序暂停一下,于是就加了个sleep函数,没想到加了之后VS2010编译失败,提示: error LNK2019: 无法解析的外部符号 _sleep,该符号在函数 _main 中被引用
Linux 中的 sleep() 函数如何精确到 1 毫秒?
系统函数 <em>usleep</em>(); 是等待1微秒, 但是实际并非如此,比如: for (i=0; i<100; ++i) { <em>usleep</em>(1000); // 等待1毫秒 } 这个循环的理论上说应该是100
sleep与usleep
sleepunsigned sleep(unsigned seconds); 单位是秒s,sleep(1)为延迟1秒<em>usleep</em>void <em>usleep</em>(int micro_seconds); 单位是微秒us, <em>usleep</em>(1)为延迟1微妙
linux c 休眠函数sleep usleep
需要包含头文件: #include &amp;lt;sys/wait.h&amp;gt; 举例: sleep(1);   休眠一秒 <em>usleep</em>(1000);   休眠一毫秒 <em>usleep</em>(1000*1000);   休眠一秒
C语言中的Sleep函数
Sleep函数: 功 能: 执行挂起一段时间   用 法: unsigned sleep(unsigned seconds);   注意:   在VC中使用带上头文件#include ,在Linux下,gcc编译器中,使用的头文件因gcc版本的不同而不同#include   在VC中,Sleep中的第一个英文字符为大写的"S" ,在linux下不要大写,在标准C中是s
linux 睡眠函数——sleep(),usleep()
#include unsigned int sleep(unsigned int seconds);//睡眠秒 返回值:成功返回0,或者返回剩余的要睡眠的秒数(被signal中断后). int <em>usleep</em>(useconds_t usec);//睡眠微秒 返回值:成功返回0,出错返回-1. useconds_t == unsigned int 秒的进制: 1秒 (s)= 1
usleep使用
前几天分析MAC上的一段代码,偶然看到<em>usleep</em>这个函数,打开MSDN居然查不到这个函数,对应的在windows上,只有Sleep函数。百度了一下:语法: void <em>usleep</em>(int micro_seconds);   返回值: 无   内容说明:本函数可暂时使程序停止执行。参数 micro_seconds 为要暂停的微秒数(us)。  注意:这个函数不能工作在 Wind
在C语言中,sleep函数与usleep函数的区别
sleep(): 功能:挂起一段时间 sleep(2); 表示挂起2s <em>usleep</em>(); 功能:将进程挂起一段时间 <em>usleep</em>(200); 表示挂起200微秒
windows下实现微秒级的延时
1.微秒级的延时肯定不能基于消息(SetTimer函数),因为一出现消息堵塞等就会影响精 度,而且setTimer单位才是毫秒.实际响应时间可能要到55毫秒左右. 2.微秒级的延时也不能不能基于中断,VxD最快的时钟服务程序Set_Global_Time_Out函数 才能保证1毫秒的精度.其他挂接int 8H中断处理函数等,只能保证55ms的精度.(有时还不 能) 3.因此可以想到汇编下的那种基于循环执
关于select定时器和usleep定时器的准确率说明
。。。。。。     unsigned int nSec= 0;     unsigned int nUSec= 0;     struct timeval tvBegin, tvNow;     int delay[20] = {500000,100000,50000,10000,1000,900,500,100,10,1,0};     int nReaduce = 0;    
Linux的sleep()和usleep()的使用和区别
 函数名: sleep  头文件: #include // 在VC中使用带上头文件         #include   // 在gcc编译器中,使用的头文件因gcc版本的不同而不同  功  能: 执行挂起指定的秒数  语  法: unsigned sleep(unsigned seconds); 示例:  #include  #include  int main()
Linux_Shell_Linux中的延迟函数 sleep / usleep
Linux shell 脚本中的延时还是使用 sleep 或<em>usleep</em>函数。 详细如下:     1、sleep : 默认为秒。 sleep 1s 表示延迟一秒   sleep 1m 表示延迟一分钟   sleep 1h 表示延迟一小时   sleep 1d 表示延迟一天        2、<em>usleep</em> : 默认以微秒。   1s = 1000ms
linux usleep函数参数溢出(睡眠多少微秒)
<em>usleep</em>函数的参数类型为unsigned int https://linux.die.net/man/3/<em>usleep</em> (1)<em>usleep</em>((0xffffff*1000)); (2) <em>usleep</em>((0xffffffff)); #include #include #include #include #include
MicroPython:TPYBoard 开发板如何运行第一个脚本?
首先,链接开发板。通过 USB 线连接你的 PC 机(windows,mac,linux皆可)。你不可能搞错因为仅有这么一种连接方式。当连接成功后开发板将上电和进入开机程序,绿色的 LED 灯应该在半秒或更少的时间内亮起,当其熄灭时意味着开机程序已完成。 安装USB驱动 Windows:开发板将作为可移动磁盘出现。Window 将自动弹出窗口界面,或者你...
micropython time 函数实现
STATIC mp_obj_t mod_time_time(void) { /* The absence of FP support is deliberate. The Zephyr port uses * single precision floats so the fraction component will start to * lose precision
关于linux内核中msleep的时间精确度
在驱动中的一个线程里使用了msleep进行延时,结果发现总的延时时间比计划的要多3,4倍。比如我想要在totaltime =200ms左右完成一个任务,任务又需要循环n次执行,于是就在执行一次循环后延
为什么用QThread::msleep暂停了一下QLabel背景颜色就等到开始后才变色
为什么用QThread::msleep暂停了一下QLabel背景颜色就等到开始后才变色 这是开始任务前几秒 msleep结束后才变色
Qt Qthread线程中的msleep()和系统时间有什么关系?
下面是Qt Qthread线程的一段代码,正常情况下可以正常的1秒发射一次信号timeout(),但是,当向过去修改系统时间的时候,就会暂停发射信号,比如向后设置5秒时间,信号就会暂停5秒才发射,也就
kernel_thread函数中能不能用msleep?如果能用msleep的参数大小有什么限制?
各位大佬, 在网上找了一圈, 没有找到对应的问题, 求助一下高手。 kernel_thread(battery_thread, NULL, CLONE_KERNEL); static int batt
linux不靠谱的sleep
首先感谢如下两篇的blog,让我走出了很大的一个误区: http://www.cppblog.com/kongque/archive/2011/01/18/138765.aspx http://blog.csdn.net/zjwoody/article/details/7882240 在我的一个项目中,因为需要与串口通信,每次读写都需要延时<em>usleep</em>(1000)=1
usleep的--系统调用流程--及不准确的问题 - Android4.0.1
1.由于在不同的硬件平台上经常遇到<em>usleep</em>不<em>准确</em>的问题,比如<em>usleep</em>(2*1000),结果sleep了10ms,是不是有点过分,测试代码如下: #include #include int main(int argc,char **argv) { struct timeval oldTime, newTime; int iStime,i,j;
QT 延时函数Sleep 头文件及其使用
//头文件 #include &lt;synchapi.h&gt; //延时1000毫秒 Sleep(1000); //Windows使用OK,linux未测试 参考源文章:http://blog.csdn.net/caoshangpa/article/details/50893772
QT中有没有休眠的sleep函数
VS2008+QT,XP操作系统,有个地方想延时1秒,才发现QT好象没有sleep函数,想调用windows API的函数,但是把头文件一包含进来( winbase.h),报一大堆的错误,在csdn上
Qt延时处理的四种方法
有些时候,我们需要程序延时一会儿: 这里提供两种方法: 1、多线程程序使用QThread::sleep()或者QThread::msleep()或QThread::<em>usleep</em>()或QThread::wait()进行延时处理。Sleep不会释放对象锁,其他线程无法访问对象,因此会阻塞线程;而Wait会释放对象锁,使得其他线程能够访问该对象。 2、自定义延时函数: 使用QEve...
在Qt中使用sleep
 在Qt中使用sleep关于sleep函数,我们先来看一下他的作用:sleep函数是使调用sleep函数的线程休眠,线程主动放弃时间片。当经过指定的时间间隔后,再启动线程,继续执行代码。sleep函数并不能起到定时的作用,主要作用是延时。在一些多线程中可能会看到sleep(0);其主要目的是让出时间片。sleep函数的精度非常低,当系统越繁忙的时候它精度也就越低,有时候我们休眠1秒,可
usleep 休眠非man描述的微妙而是毫秒级别的!
centos 5.4 系统。gcc 4.1.2 nanosleep 和 <em>usleep</em> 休眠级别都是毫秒,而不是man描述的纳秒和微妙。。。为什么会这样?
QT 中使用sleep方法
在网上搜到用线程的方法,对于一个刚接触QT的人来说不是一个好方法,QT虽然没有提供Sleep(),但是QT提供了系统调用,然而每个系统中都有Sleep()函数,所以可以简单的包含系统头文件即可。 如果是windows平台则: #include windows.h> 就可以用Sleep()了: Sleep(10000); (注意是大写S)
Qt中如何使用Sleep函数
#include synchapi.h是Qt自带的头文件 Sleep(40);延迟40毫秒
QT学习笔记(四):Http下载的另一种实现方式,使用QNetworkAccessManager
QT学习笔记(四):Http下载的另一种实现方式,使用QNetworkAccessManager 2010-05-27 16:35:48 分类: C/C++     QT assistant 中有关QHttp的说明,建议我们使用 QNetworkAccessManager 和 QNetworkReply 而非QHttp,因为前者的API更多,并且提供了更丰富的错误处
Qt 延时功能问题
想请教大神,我用designer画了一个界面,画了一个表格控件和按钮控件,想实点击按钮时,实现过1秒往表格自动输出一段数字,过一秒输出一段数字,也就是延时输出问题,有大神跟我说用Qtimer,我还是不
Qt中使用Sleep()
 在网上搜到用线程的方法,对于一个刚接触QT的人来说不是一个好方法,QT虽然没有提供Sleep(),但是QT提供了系统调用,然而每个系统中都有Sleep()函数,所以可以简单的包含系统头文件即可。 如果是windows平台则: #include windows.h> 就可以用Sleep()了: Sleep(10000); (注意是大写
如何让 Qt 的程序使用 Sleep
Qt 为何没有在QtCore中为何没有提供跨平台 sleep 函数?为何使用sleep之后界面无响应?如果和主线程进行等待,而不影响界面刷新?
在Qt中使用sleep (转)
关于sleep函数,我们先来看一下他的作用:sleep函数是使调用sleep函数的线程休眠,线程主动放弃时间片。当经过指定的时间间隔后,再启动线程,继续执行代码。sleep函数并不能起到定时的作用,主要作用是延时。在一些多线程中可能会看到sleep(0);其主要目的是让出时间片。
Qt之QThread(深入理解)
简述 为了让程序尽快响应用户操作,在开发应用程序时经常会使用到线程。对于耗时操作如果不使用线程,UI界面将会长时间处于停滞状态,这种情况是用户非常不愿意看到的,我们可以用线程来解决这个问题。 前面,已经介绍了QThread常用的两种方式: Worker-Object 子类化QThread 下面,我们来看看子类化QThread在...
QT中使用类似sleep等待的方法
#include void waitSec(int s) { //#ifdef WIN32 // Sleep(1000); //#else // sleep(1); //#endif QTime t; t.start(); while(t.elapsed()<1000*s) QCoreApplication::processE
usleep - 延迟以微秒为单位的时间
用途说明<em>usleep</em>命令用于延迟以微秒为单位的时间(sleep some number of microseconds),实际上达不到这个精度(Probably not accurate on many machines down to the microsecond.  Count on precision only to -4 or maybe -5.)。如果系统中没有<em>usleep</em>命令,可
我使用过的Linux命令之usleep - 延迟以微秒为单位的时间
我使用过的Linux命令之<em>usleep</em> - 延迟以微秒为单位的时间 本文链接:http://codingstandards.iteye.com/blog/1007783   (转载请注明出处)   用途说明 <em>usleep</em>命令用于延迟以微秒为单位的时间(sleep some number of microseconds),实际上达不到这个精度(Probably not accurate...
Linux高精确的时序(sleep, usleep,nanosleep)
方式一、 (sleep, <em>usleep</em>,nanosleep)本质上都是系统调用,但是精确程度不一样,依次递增。 方式二、nice函数 功能描述 改变进程优先级,也就是改变进程执行的优先顺序。 函数定义 int nice(int inc); 返回值 成功执行时,返回新的nice值。失败返回-1 参数介绍 inc数值越大则优先级越低(进程执行慢),超级用户可以使用负的inc
linux 下面的sleep,usleep,nanosleep 和select比较
sleep 时间单位是秒 <em>usleep</em>的时间单位是微秒 select的精度是微妙,精确 struct timeval delay; delay.tv_sec = 0; delay.tv_usec = 20 * 1000; // 20 ms select(0, NULL, NULL, NULL, &delay); <em>usleep</em>()有有很大的问题 在一些平台
用c++clock()函数计算的时间和实际用的时间不一致
做的喷泉码的编解码,主要是对一个6K的矩阵做运算。 先申请一堆动态内存来存数据和矩阵 然后编码,前后计时并做减法,得到编码时间。 然后把数据存到记事本里。 然后解码,前后计时并做减法,得到解码时间。
C++中时间延迟的几种方法
从论坛上转来的: (—)使用_sleep()函数  #include    using   namespace   std;  _sleep(5*1000);//延时5秒  (二)使用Delay(int   time)函数  #include   void   Delay(int   time)//time*1000为秒数  {  clock_t   n
gettimeofday函数获得的微秒数是从什么时候开始算的,另为什么usleep(20)前后获得的微秒数之差会大于20,而且不是一个固定值
#include #include #include int main() { struct timeval before_<em>usleep</em>;
关于linux下时间延迟函数精度问题
Linux内核时钟中断设施linux的时钟中断需要两个全局变量,分别是xtime与jiffies。1、xtime一个timeval结构类型变量,是从cmos电路中取得的时间,一般是从某一历史时刻开始到现在的时间,也就是为了取得我们操作系统上显示的日期。这个就是“实时时钟”,它的精确度是微秒。获取方式是通过sys/time.h头文件里面的gettimeofday函数获取。2、HZLinux核心每隔固定
Sleep精度
 在多线程运行过程中我们为了降低对CPU的使用率经常会使用Sleep(1)进行休眠,但是在实际测试过程中我们发现调用Sleep(1)后,操作系统再次调度到该线程实际耗时在16ms。经过查找资料发现:由于windows并非是一个实时操作系统,由于线程调度机制,所以它的时间精度不是很高。Sleep只能精确16ms。但是实际上可以通过下面方式可以将Sleep精度提升到1-2ms(注意仍然达不到1ms) ...
usleep的--系统调用流程--及不准确的问题 - Android4 0 1
<em>usleep</em>的--系统调用流程--及不<em>准确</em>的问题 - Android4 0 1
内核定时机制API之usleep_range
<em>usleep</em>_range 用于非原子环境的睡眠,目前内核建议用这个函数替换之前udelay。 其源码分析如下: void __sched <em>usleep</em>_range(unsigned long min, unsigned long max) { #得到最早wakeup的时间 ktime_t exp = ktime_add_us(ktime_get(), min); #计算必须要在max-min
linux usleep_range(min, max)
这个延迟函数最少的延迟时间为<em>50us</em>, 就算min=max=1, 实际的效果应该不是延迟1us, 而是<em>50us</em>, 大牛们说的。。。
嵌入式Linux驱动笔记(三)------LCD驱动程序
你好!这里是风筝的博客,欢迎和我一起交流。 如果本篇博客对您有帮助,或许可以在下方评论给我留个言。 开发板为JZ2440, Linux Kernel 4.4.18 在Kernel自带的s3c2410fb.c文件中,就是LCD的驱动。 我们可以照着这个文件编写一个LCD驱动。 在文件中s3c24xxfb_probe函数就是LCD的初始化
2.6.9内核remap_pfn_range函数头文件是那个.
linux内核版本:2.6.9-5.EL 发行版本:Red Hat Enterprise Linux AS release 4 编译驱动版本:gspcav1-20071224 在执行make后提示如下
Linux时间子系统之七:定时器的应用--msleep(),hrtimer_nanosleep()
我们已经在前面几章介绍了低分辨率定时器和高精度定时器的实现原理,内核为了方便其它子系统,在时间子系统中提供了一些用于延时或调度的API,例如msleep,hrtimer_nanosleep等等,这些API基于低分辨率定时器或高精度定时器来实现,本章的内容就是讨论这些方便、好用的API是如何利用定时器系统来完成所需的功能的。 /***********************************
驱动开发基础 -- linux中msleep精度比较差
转自超哥原话: 启江那边反馈msleep精度比较差的问题。我分析了下: 因为msleep依赖于jiffies,也就是依赖于CONFIG_HZ值,如果CONFIG_HZ=100,那精度就是10ms,即使msleep(1)希望休眠1ms,实际上休眠时间 &amp;gt;=10ms. 内核中有接口<em>usleep</em>_range,可以实现us微秒级的休眠: #include &amp;lt;linux/delay.h&amp;gt...
PHP 暂停函数 sleep() 与 usleep() 的区别
在PHP中暂停代码执行一定时间,有两个函数可以实现,一个是sleep(),另一个是<em>usleep</em>(),它们参数都是一个整数值。sleep()是暂停多少秒,<em>usleep</em>()是暂停多少微秒。 注意:<em>usleep</em>()单位是微秒,1秒 = 1000毫秒 ,1毫秒 = 1000微秒,即1微秒等于百万分之一秒。 如果程序中要使用要暂停多少毫秒,只能使用<em>usleep</em>(),务必注意参...
usleep()和sleep()的区别
1、函数名: <em>usleep</em>()  头文件: #include unistd.h>  功  能: <em>usleep</em>能把进程挂起一段时间, 单位是微秒  语  法: void <em>usleep</em>(DWORD us);  返回值: 无  内容说明:本函数可暂时使程序停止执行。参数 micro_seconds 为要暂停的微秒数(us)。  注 意:这个函数不能工作在windows 操作系统中。用在Lin
linux 延时的精度
低精度sleep: msleep: sleep过程中一定会完成指定之间,并且sleep中进程不能被kill msleep_interruptible: msleep会保证所需的延时一定会被执行完,而msleep_interruptible则可以在延时进 行到一半时被信号打断而退出延时,剩余的延时数则通过返回值返回。 高精度sleep 除了hrtimer_nanosleep,高精度
udelay、mdelay、ndelay、msleep使用比较说明
时间单位:     毫秒(ms)、微秒 (μs)、纳秒(ns)、皮秒(ps)、飞秒(fs)、阿秒、渺秒     1 s = 10^3 ms = 10^6 us = 10^9 ns = 10^12 ps = 10^15 fs=10^18阿秒=10^21渺秒=10^43普朗克常数 在Linux Driver开发中,经常要用到延迟函数:msleep,mdelay/udelay. 虽然ms
plz do not use usleep(0)!
最近发现很多hpc 领域的MPI程序中在用<em>usleep</em>(0) ,比较差异。 后来问了之前做hpc 的同事 得到的答复是 一般用<em>usleep</em>(0) 的主要目的应该是: CPU交出当前线程的执行权,让CPU去执行其他线程。也就是放弃当前线程的时间片,转而执行其他线程   我感觉很诧异。 Usleep(0) 来做这个事情 是POSIX要求的 还是一个意外的发现呢? 我记得我之前都
Linux下timer延时的使用
因笔者工作在嵌入式平台上(非x386),下面给出的结论仅在arm平台上测试过。 1. 在原子上下文,延迟应该少于100微秒。 使用udelay 2. 在非原子上下文延迟的使用 0-100us: 使用udelay 100us以上: 使用<em>usleep</em>_range <em>20ms</em>以上且不要求精确: 使用msleep msleep不精确,完全可以用<em>usleep</em>_range代替。
Simulate HDMI CEC by GPIO
Simulate HDMI CEC by GPIO Use the gpio tosimulate the function of HDMI CEC.   分为两部分介绍: HDMI CEC 的协议标准 Rockchip 使用GPIO 模拟CEC的软件 1,HDMI CEC的协议标准 1.1   具体的CEC标准在“HDMI1.4b  Spec”的217页. Hdmi
内核延时函数
1) msleep:实现毫秒级的延时,该延时保证至少延时所设置的延时时间,不会提前超时返回,会让出CPU void msleep(unsigned int msecs) { unsigned long timeout = msecs_to_jiffies(msecs) + 1; while (timeout) timeout = schedule_timeout_uninte
linux内核注意事项
1) 驱动中的延时语句一般禁止使用mdelay(),msleep的话特别是较短10~<em>20ms</em>的时候常常会因为系统调度变成更长的时间,精度较差,需要较为精确的ms级别延时请使用<em>usleep</em>_range(a, b),比如原来mdelay(1)、mdelay(10)可改为<em>usleep</em>_range(1000, 2000)、<em>usleep</em>_range(10000, 12000),如果是长达30ms或以上的延时
nanosleep 纳秒级延迟
1. nanosleep 测试 函数的原型如下: int clock_gettime(clockid_t clk_id, struct timespect *tp); clockid_t clk_id用于指定计时时钟的类型,对于我们Programmer以下三种比较常用: CLOCK_REALTIME, a system-wide realtime clock. CLOCK_PROCE
linux多线程之间加usleep()。
-
Linux平台延时之sleep、usleep、nanosleep、select
1、sleep的精度是秒 2、<em>usleep</em>的精度是微妙,不精确 3、select的精度是微妙,精确 struct timevaldelay; delay.tv_sec =0; delay.tv_usec =20 * 1000; // 20 ms select(0, NULL,NULL, NULL, &amp;amp;delay);   4、nanosleep的精度是纳秒,不精确  ...
嵌入式linux 线程内usleep与cpu调度时间片大小分析
1.在嵌入式linux平台下调用sleep或者<em>usleep</em>函数的CPU线程调度情况? 2.开发板上使用的时at91sam9261 ARM9 CPU芯片,主频240M,操作系统是linux2.6.28.10版本,那么在该操作系统下的线程调度的切换CPU时间片是多长,网上有地方说是linux2.6是线程切换CPU时间片默认是10ms,不知是否<em>准确</em>,不提升线程优先级的情况下能否将线程切换时间片改变(如改...
Windows与Linux系统实现延迟的比较+Windows下实现微秒延迟
在VC中Sleep中的第一个英文字符为大写的"S" 在标准C中是sleep, 不要大写。下面使用大写的来说明(具体用什么看你用什么编译器. 简单的说VC用Sleep, 别的一律使用sleep) Sleep函数的一般形式:             Sleep(unsigned long); 其中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是#inlcude
usleep的--系统调用流程 Android4.0.1
1.由于在不同的硬件平台上经常遇到<em>usleep</em>不<em>准确</em>的问题,比如<em>usleep</em>(2*1000),结果sleep了10ms,是不是有点过分,测试代码如下: [cpp] view plaincopy #include    #include       int main(int argc,char **argv)   {
Android怎么进行精确的sleep?
问几个问题 1. java端可以实现精确的sleep么? 2. thread.sleep 和 SystemClock.sleep 的精度咋样? 3. SystemClock.sleep接受毫秒单位,但
Android 多线程延迟(sleep)
new Thread(new Runnable(){ @Override public void run(){ int count = 0; while (true) { c
Android中实现延时执行操作的几种方法
在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是一个引导页面,过了两三秒后,会自动跳转到主界面。这就是一个延时操作。 下面是实现延时执行操作的几种方法:**1.使用线程的休眠实现延时操作** new Thread() { @Override public void run() {
usleep微秒
在php中暂停代码执行一定时间,有两个函数可以实现,一个是sleep,另一个是<em>usleep</em>,它们参数都是一个整数值。sleep是暂停多少秒,<em>usleep</em>是暂停多少微秒。注意:<em>usleep</em>单位是微秒,1秒 = 1000毫秒 ,1毫秒 = 1000微秒,即1微秒等于百万分之一秒。 如果程序中要使用要暂停多少毫秒,只能使用<em>usleep</em>,务必注意参数的单位,假设暂停 50毫秒,应该使用<em>usleep</em>(500
linux sleep usleep
转自:http://blog.sina.com.cn/s/blog_a11fcae9010140hz.html linux的sleep()和<em>usleep</em>()的使用和区别 <em>usleep</em>功能把进程挂起一段时间, 单位是微秒(百万分之一秒);    头文件: unistd.h    语法: void <em>usleep</em>(int micro_seconds);    返回值: 无
Java类与对象下载
这个文件对于类与对象的介绍很详细,有代码解释,读者更容易理解 相关下载链接:[url=//download.csdn.net/download/peng_angel/3736419?utm_source=bbsseo]//download.csdn.net/download/peng_angel/3736419?utm_source=bbsseo[/url]
水果忍着代码下载
代码实现了水果忍者切水果的动画效果。有详细注释说明 相关下载链接:[url=//download.csdn.net/download/wengyajiexujing/4814003?utm_source=bbsseo]//download.csdn.net/download/wengyajiexujing/4814003?utm_source=bbsseo[/url]
Office2013_RTM_PidxCheck下载
Office2013_RTM_PidxCheck,一个校验office 2013 key的工具,可以看出PID段,知道key的类型 相关下载链接:[url=//download.csdn.net/download/oldsir/4944824?utm_source=bbsseo]//download.csdn.net/download/oldsir/4944824?utm_source=bbsseo[/url]
我们是很有底线的