WM_TIMER 消息的问题

问题内容:关于定时器消息WM_TIMER的认识,如间隔时间多于一秒,要考虑数据的同步呢?

如果某个间隔为一秒的定时器在OnTimer中需要处理的时间多于一秒,那么应该会出现这段处理过程的重复执行,那么要不要考虑数据的同步呢?
---------------------------------------------------------------

WM_TIMER消息会被忽略,如果一个WM_TIMER消息正在处理,新的WM_TIMER消息不会产生,因此不存在函数重入的问题。类似的还有WM_PAINT消息。
---------------------------------------------------------------

不会重入是确定的,但WM_TIMER真的不会产生吗?我的印像中当debug ontimer时,当一次ontimer中断了一段时间(debug)再F5通过后,会连续有若干个ontimer被执行
从感觉上timer消息是被触发了的并加上了消息对列(但这个时候并没有去取这个消息,所以当然不会重入),当然,也可能是某种机制使得一个超时的ontimer结束后,立即产生一个timer消息到消息对列
---------------------------------------------------------------

同上。WM_TIMER是会产生的,不过如果多个相同WM_TIMER排在一起,会被合并。
另,WM_TIMER的优先度是最低的。
---------------------------------------------------------------

定时器的定时事件是不会累积的。即:如果规定的时间达到,而定时处理函数还没有执行,那么会从消息队列里面移除这个定时的消息的。

---------------------------------------------------------------

窗口处理程序本身都是不可重入的,也就是说当窗口处理程序在处理一个消息时,只有等它处理完后才会响应下一个消息。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值