windows中的定时器

本文深入探讨Windows中的定时器机制,包括WM_Timer消息的产生、定时器的准确性、WM_TIMER消息的参数、高性能计数器的使用,以及定时器的三种常见用法。详细解析了SetTimer函数参数和相关回调函数,同时还介绍了与时间相关的函数和结构体,如SYSTEMTIME和FILETIME。
摘要由CSDN通过智能技术生成
1 WM_Timer消息的产生:
windows本身处理硬件中断,对于应用程序的定时器,windows存储一个每次硬件timer_tick减少的计时数,当这个数减少到0的时候,windows会在应用程序的消息对列中放一个WM_Timer的消息,同时将timer_tick恢复到原值。由于WM_Timer消息是在消息队列中,所以其类似鼠标和键盘,不会中断应用程序的执行。

2 定时器的准确性:
windows定时器是PC硬件和ROM BIOS架构下对定时器的一种相当简单的扩充。所以它的分辨率是有固定值的,在Windows98中,时钟频率是每秒18.2次,windowsNT(windows New Technology,从Windows NT 3.1到现在的win8都是windowsNT)是100次每秒,所以在SetTimer中设置的时间nTime/deltaTime = timer_tick,deltaTime是指windows系统定时器的时间间隔(windowsNT,那就是10ms了)。
(1)从上面可以看出,timer_tick是个截尾的整数,并且当nTime<deltaTime的时候,timer_tick =0(此时每个tick都会触发WM_Timer消息),因此从此可以看出,定时器是不精确的。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值