换言之,这个SetTimer()是中断响应还是另开了一个线程?
17 个解决方案
#1
按钮事件,定时事件,鼠标事件好像不能
#2
定时器是线程~
#3
settimer注册了一个时钟,要求windows按这个时间间隔发送wm_timer消息,是在消息循环里处理的。没有开线程。你要自己开,保证其他事件的响应
#4
定时器只是间隔指定的时间产生一个时间消息而已。除非你窗口需要很长时间来处理这个消息,否则定时器对窗口几乎没任何影响。
楼主要分清定时器,和Sleep函数。
如果你调用 Sleep(10*1000)的话,你的窗口会有10秒钟时间失去响应, 但SetTimer()不会。
#5
不好意思,没看清题。如果需要长时间处理的话,最好是开线程。
#6
耗时三秒的事件是在哪个线程中处理的那么哪个线程就会被占用(阻塞)三秒.定时器就是一个闹钟,只是提示时间到了而已.
#7
非中断,非线程,消息而已。
#8
顶顶,大家继续,各种答案纷纷来报到哦
#9
假如处理此定时事件需要3秒钟,那么在这3秒里我其它的程序是否还运行,其它事件(按钮事件,定时事件,鼠标事件等等)是否还能相应?
==============
不响应,定时器只是系统发送WM_TIMER消息,而窗口处理程序仅是处理消息,在消息处理过程中不会响应其它的事件。
==============
不响应,定时器只是系统发送WM_TIMER消息,而窗口处理程序仅是处理消息,在消息处理过程中不会响应其它的事件。
#10
顶顶,大家继续,各种答案纷纷来报到哦
#11
看了一下前面的答案,除了个别说法之外,其他的人的说法都是一样的,也就是不响应。
#12
感觉没必要解释了
#13
消息队列的处理
#14
UP
#15
是消息,消息有先后,当消息是定时器该执行了,那么其他的消息要等到他完成后才被执行到!
#16
定时器是消息机制,非线程。
#17
消息,其它事件能响应,只是不能和定时器冲突。
#1
按钮事件,定时事件,鼠标事件好像不能
#2
定时器是线程~
#3
settimer注册了一个时钟,要求windows按这个时间间隔发送wm_timer消息,是在消息循环里处理的。没有开线程。你要自己开,保证其他事件的响应
#4
定时器只是间隔指定的时间产生一个时间消息而已。除非你窗口需要很长时间来处理这个消息,否则定时器对窗口几乎没任何影响。
楼主要分清定时器,和Sleep函数。
如果你调用 Sleep(10*1000)的话,你的窗口会有10秒钟时间失去响应, 但SetTimer()不会。
#5
不好意思,没看清题。如果需要长时间处理的话,最好是开线程。
#6
耗时三秒的事件是在哪个线程中处理的那么哪个线程就会被占用(阻塞)三秒.定时器就是一个闹钟,只是提示时间到了而已.
#7
非中断,非线程,消息而已。
#8
顶顶,大家继续,各种答案纷纷来报到哦
#9
假如处理此定时事件需要3秒钟,那么在这3秒里我其它的程序是否还运行,其它事件(按钮事件,定时事件,鼠标事件等等)是否还能相应?
==============
不响应,定时器只是系统发送WM_TIMER消息,而窗口处理程序仅是处理消息,在消息处理过程中不会响应其它的事件。
==============
不响应,定时器只是系统发送WM_TIMER消息,而窗口处理程序仅是处理消息,在消息处理过程中不会响应其它的事件。
#10
顶顶,大家继续,各种答案纷纷来报到哦
#11
看了一下前面的答案,除了个别说法之外,其他的人的说法都是一样的,也就是不响应。
#12
感觉没必要解释了
#13
消息队列的处理
#14
UP
#15
是消息,消息有先后,当消息是定时器该执行了,那么其他的消息要等到他完成后才被执行到!
#16
定时器是消息机制,非线程。
#17
消息,其它事件能响应,只是不能和定时器冲突。