1 / 12
文档名称:

关于各种延时.doc

格式:doc   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

关于各种延时.doc

上传人:w447750 2016/1/14 文件大小:0 KB

下载得到文件列表

关于各种延时.doc

相关文档

文档介绍

文档介绍:关于各种延时在Linux中,如果是应用层下的一些应用,我们可以:1)调用unsignedintsleep(unsignedintsecond);函数去定时,这个时候它是秒级的;头文件为<>;2)调用intusleep(useconds_t);函数去定时,这个时候它是微秒级的;头文件为<>;3)调用高精度睡眠intnanosleep(conststructtimespec*rep,structtimespec*rem);是一个相比标准UNIX的sleep调用具有更高高精度的版本。和普通的sleep调用计算整秒数不同,nanosleep接受一个指向一个structtimespec对象的指针作为参数,它可以表示毫微秒(nanosecond,十亿分之一秒)的时间。然而,了解Linux内核的工作细节后可知,nanosleep所提供的真正精确度是10毫秒——比sleep提供的要精确。这个附加的精确度非常有用,比如说,可以根为反复进行的任务设置更短的间隔。structtimespec由两部分构成:tv_sec表示整秒数部分;tv_nsec则表示毫微秒。tv_nesc的值必须小于109。nanosleep相比sleep具有另一个优点。与sleep相同,nanosleep调用可以被信号中断,这是errno将被设置为EINTR而调用将返回-1。但是,nanosleep的第二个参数,另一个指向structtimespec对象的指针,如果不为NULL则在这种情况下它将被写入剩余的时间(这就是所请求的睡眠时间和实际睡眠时间的差)。这使重新开始睡眠变的很容易。头文件<>。以下是内核中的:();mdelay();ndelay();实现的原理本质上都是忙等待,ndelay和mdelay都是通过udelay衍生出来的,我们使用这些函数的实现往往会碰到编译器的警告implicitdeclarationoffunction'udelay',这往往是由于头文件的使用不当造成的。在include/asm-???/(),而在include/linux/,如果你填的数大于2000,系统会认为你这个是一个错误的delay函数,因此如果需要2ms以上的delay需要使用mdelay函数。,对于长时间的忙等待意味这无谓的耗费着cpu的资源,因此对于毫秒级的延时,内核提供了msleep,ssleep等函数,这些函数将使得调用它的进程睡眠参数指定的时间。那么,在Windows中呢:1)我们很快想到Sleep();头文件<>然后再VC++中,找到了一篇不错的文章,转自这里,内容如下:方法一:VC中的WM_TIMER消息映射能进行简单的时间控制。首先调用函数SetTimer()设置定时间隔,如SetTimer(0,200,NULL)即为设置200ms的时间间隔。然后在应用程序中增加定时响应函数OnTimer(),并在该函数中添加响应的处理语句,用来完成到达定时时间的操作。这种定时方法非常简单,可以实现一定的定时功能,但其定时功能如同Sleep()函数的延时功能一样,精度非常低,最小计时精度仅为30ms,CPU占用低,且定时器消息在多任务操作系统中的优先级很低,不能得到及时响应,往往不能满足实时控制环境下的应用。只可以用来实现诸如位图的动态显示等对定时精度要求不高的情况。如示例工程中的Timer1。方法二:VC中使用sleep()函数实现延时,它的单位是ms,如延时2秒,用sleep(2000)。精度非常低,最小计时精度仅为30ms,用sleep函数的不利处在于延时期间不能处理其他的消息,如果时间太长,就好象死机一样,CPU占用率非常高,只能用于要求不高的延时程序中。如示例工程中的Timer2。方法三:利用COleDateTime类和COleDateTimeSpan类结合WINDOWS的消息处理过程来实现秒级延时。如示例工程中的Timer3和Timer3_1。以下是实现2秒的延时代码:COleDateTimestart_time=COleDateTime::GetCurrentTime();COleDateTimeSpanend_time=COleDateTime::GetCurrentTime()-start_time;while(()<2)//实现延时2秒{MSGmsg;GetMessage(&msg,NULL,0,0);TranslateMessage(&msg);DispatchMessa

最近更新

2024年天津滨海职业学院单招职业技能测试题库.. 55页

2024年山东省高职单招职业适应性测试题库-精品.. 43页

2024年山东省高职单招职业适应性测试题库丨精.. 45页

2024年山东省高职单招职业适应性测试题库精品.. 46页

2024年河南省高职单招职业适应性测试模拟试题.. 57页

2024年河南省高职单招职业适应性测试模拟试题.. 56页

2024年河南省高职单招职业适应性测试模拟试题.. 55页

2024年河南省高职单招职业适应性测试题库及参.. 55页

2024年河南省高职单招职业适应性测试题库精品.. 55页

2024年河南省高职单招职业适应性测试题库附完.. 56页

2024年西双版纳职业技术学院单招职业适应性测.. 56页

2024年重庆电子工程职业学院职业倾向性测试题.. 57页

2024年重庆电子工程职业学院职业倾向性测试题.. 57页

2024年重庆电子工程职业学院职业倾向性测试题.. 55页

2024年重庆电子工程职业学院职业倾向性测试题.. 56页

2024年重庆电讯职业学院单招职业适应性测试题.. 55页

一级建造师之一建公路工程实务题库1000道【巩.. 302页

一级建造师之一建公路工程实务题库1000道含答.. 301页

一级建造师之一建公路工程实务题库1000道精品.. 301页

一级建造师之一建工程法规题库1000道word 330页

一级建造师之一建工程法规题库1000道及答案【.. 330页

一级建造师之一建工程法规题库1000道附答案(.. 330页

一级建造师之一建港口与航道工程实务题库1000.. 307页

演出经纪人之演出市场政策与法律法规题库400道.. 117页

单位负责人基本情况登记表 1页

大坝混凝土浇筑安全保障措施 3页

《灰尘的旅行》四年级下册电子版 2页

政工师专业技术工作总结(多篇) 3页

内墙刮腻子合同 2页

供应商质量能力提升计划 23页