问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

有什么函数可以 替代延迟函数 Sleep()

发布网友 发布时间:2023-10-16 13:22

我来回答

2个回答

热心网友 时间:2024-12-02 10:49

方法一:就是你说的Sleep
使用sleep函数的不利处在于期间不能处理其他的消息,如果时间太长,就好象死机一样,所以我们利用

COleDateTime类和COleDateTimeSpan类结合WINDOWS的消息处理过程来实现延时:
COleDateTime start_time = COleDateTime::GetCurrentTime();
COleDateTimeSpan end_time = COleDateTime::GetCurrentTime()-start_time;
While(end_time.GetTotalSeconds() <= 2) //实现延时2秒
{
MSG msg;
GetMessage(&msg,NULL,0,0);
TranslateMessage(&msg);
DispatchMessage(&msg);
End_time = ColeDateTime::GetCurrentTime-start_time;
}//这样在延时的时候我们也能够处理其他的消息。
方法三:
可以采用GetTickCount()函数,该函数的返回值是DWORD型,表示以毫秒为单位的计算机启动后经历的时间间隔。
DWORD dwStart = GetTickCount();
DWORD dwEnd = dwStart;
do
{
MSG msg;
GetMessage(&msg,NULL,0,0);
TranslateMessage(&msg);
DispatchMessage(&msg);
dwEnd = GetTickCount();
} while((dwEnd - dwStart) <= 2000);
上面的方法在延时的精确度上,很多时候不能满足我们的要求,下面是一种更精确的微秒级延时:
LARGE_INTEGER litmp ;
LONGLONG QPart1,QPart2 ;
double d=0;
QueryPerformanceCounter(&litmp) ;
// 获得初始值
QPart1 = litmp.QuadPart ;
while (d<40)//你想要的时间
{
QueryPerformanceCounter(&litmp) ;
QPart2 = litmp.QuadPart ;
d=(double)(QPart2 - QPart1);
}

热心网友 时间:2024-12-02 10:50

  【1】使用sleep函数的不利处在于期间不能处理其他的消息,如果时间太长,就好象死机一样,COleDateTime类和COleDateTimeSpan类结合WINDOWS的消息处理过程来实现延时: COleDateTime start_time = COleDateTime::GetCurrentTime(); COleDateTimeSpan end_time = COleDateTime::GetCurrentTime()-start_time;
While(end_time.GetTotalSeconds() <= 2) //实现延时2秒 。
  【2】函数:函数(function)表示每个输入值对应唯一输出值的一种对应关系。这种关系使一个集合里的每一个元素对应到另一个(可能相同的)集合里的唯一元素。函数f中对应输入值的输出值x的标准符号为f(x)。包含某个函数所有的输入值的集合被称作这个函数的定义域,包含所有的输出值的集合被称作值域。若先定义映射的概念,可以简单定义函数为,定义在非空数集之间的映射称为函数。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
干货| 如何利用PPT绘制手绘图像(内含视频教学)。 小米Mix2s开发者选项的设置与应用指南(探索小米Mix2s开发者选项)_百度... 我今年41岁女,我想问一买哪种养老保险更合算,可以一次买吗?要多少... 我们家有营业执照。我现在41岁了。养老保险如何来买?一年,交多少钱? 搅拌桩的两喷两搅怎么理解 ...上关于一喷二搅、二喷二搅、二喷三搅、二喷四搅的具体做法 两搅两喷与四搅四喷的区别 三轴搅拌桩两搅四喷是什么意思 梦幻西游将军令怎么解绑 EXCEL表,求值? 什么样的公司是可以发行股票1 想问问秦皇岛广发证券开户流程6 如果我换号码的时候忘了换绑定别人用这个号码登录我的微信... 9月16日防空警报试鸣意味什么 9月16警报响是怎么回事 老中医减肥茶王曦lzy73280,她是不是骗子,我买个一个月的,一斤 为什么有的U盘能另我的电脑死机?4 U盘中毒了,插在电脑上只显示一部分东西,不显示的文件怎么弄出... 会作文的进呀!高分呦!急!!真的在线等… 想进广告公司,做平面设计,但是没有经验,专业也不对口,我该怎么办... 榨菜怎么保存不坏 如何在一台手机上登录两个? 怎么看自己微信用了多久47 草药为什么要晒干,干与不干的什么不同2 深圳华润润曦府是毛坯房还是精装修? 怎么查看自己的用了多久17 老中医减肥茶王曦lzy73280,她是不是骗子,我买个一个月的,一斤 浦发银行,广发银行,招商银行在秦皇岛那里12 成人吃什么钙片9 劳动报酬约定日工资,属于什么计酬方式 老中医减肥茶王曦lzy73280,她是不是骗子,我买个一个月的,一斤 怎么在一个手机上登两个? 我用微信很长时间了,可我没设置过,现在忘了,怎么查询自...1 为什么两个手机号搜索同一个显示的图片却不一样12 那个德龙全自动咖啡机好? 第一张是我手机显示的微信相册封面,第二张是用朋友手机显示的,...4 同一部手机的俩个加了同一个好友。为什么一个账号可以看见...1 腮红摔碎了怎么才能复原?有什么好方法?35 腮红弄成碎的了有什么办法弄好?1 ...突然她问我每天和我发短信,你不累吗?我该怎么回答? 问一个女生加不加班。她反问想让他加还不不想让她加。应该怎么回答? 五线谱音符上的√是什么意思? 求MPEG2加中文字幕的简便方法 9月16日为什么拉响防空警报 深圳和昌拾里花都是毛坯房还是精装修? 减肥哪种效果好487 快速减肥方法 谢谢推荐82 中药材在做显微烘干与晒干有什么区别? 刚用微信不久,如果我发了朋友圈,想知道我在乎的那个人有没有看... 一个号码注册了两个 怎么找回第一个?