vc定时器的意义是中断还是线程?

handanwxd 2011-08-26 04:20:33
例如,我定义了一个定时器SetTimer(1,10*1000,NULL),那么没事秒进入定时器进行定时事件处理,假如处理此定时事件需要3秒钟,那么在这3秒里我其它的程序是否还运行,其它事件(按钮事件,定时事件,鼠标事件等等)是否还能相应?
换言之,这个SetTimer()是中断响应还是另开了一个线程?
...全文
344 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
clever101 2012-05-09
  • 打赏
  • 举报
回复
消息,其它事件能响应,只是不能和定时器冲突。
czydxj 2011-08-28
  • 打赏
  • 举报
回复
是消息,消息有先后,当消息是定时器该执行了,那么其他的消息要等到他完成后才被执行到!
tzxx 2011-08-28
  • 打赏
  • 举报
回复
定时器是消息机制,非线程。
healer_kx 2011-08-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 pzhuyy 的回复:]

非中断,非线程,消息而已。
[/Quote]

UP
l2008l 2011-08-27
  • 打赏
  • 举报
回复
消息队列的处理
chrc1122 2011-08-27
  • 打赏
  • 举报
回复
感觉没必要解释了
wltg2001 2011-08-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 qhrzh 的回复:]
顶顶,大家继续,各种答案纷纷来报到哦
[/Quote]
看了一下前面的答案,除了个别说法之外,其他的人的说法都是一样的,也就是不响应。
qhrzh 2011-08-27
  • 打赏
  • 举报
回复
顶顶,大家继续,各种答案纷纷来报到哦
wltg2001 2011-08-27
  • 打赏
  • 举报
回复
假如处理此定时事件需要3秒钟,那么在这3秒里我其它的程序是否还运行,其它事件(按钮事件,定时事件,鼠标事件等等)是否还能相应?
==============
不响应,定时器只是系统发送WM_TIMER消息,而窗口处理程序仅是处理消息,在消息处理过程中不会响应其它的事件。
handanwxd 2011-08-27
  • 打赏
  • 举报
回复
顶顶,大家继续,各种答案纷纷来报到哦
pzhuyy 2011-08-26
  • 打赏
  • 举报
回复
非中断,非线程,消息而已。
abxialiang 2011-08-26
  • 打赏
  • 举报
回复
耗时三秒的事件是在哪个线程中处理的那么哪个线程就会被占用(阻塞)三秒.定时器就是一个闹钟,只是提示时间到了而已.
  • 打赏
  • 举报
回复
不好意思,没看清题。如果需要长时间处理的话,最好是开线程。
  • 打赏
  • 举报
回复


定时器只是间隔指定的时间产生一个时间消息而已。除非你窗口需要很长时间来处理这个消息,否则定时器对窗口几乎没任何影响。

楼主要分清定时器,和Sleep函数。

如果你调用 Sleep(10*1000)的话,你的窗口会有10秒钟时间失去响应, 但SetTimer()不会。

ndy_w 2011-08-26
  • 打赏
  • 举报
回复
settimer注册了一个时钟,要求windows按这个时间间隔发送wm_timer消息,是在消息循环里处理的。没有开线程。你要自己开,保证其他事件的响应
nnull 2011-08-26
  • 打赏
  • 举报
回复
定时器是线程~
king_query 2011-08-26
  • 打赏
  • 举报
回复
按钮事件,定时事件,鼠标事件好像不能

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧