注册 登录
编程论坛 Delphi论坛

windows消息

wanghejiang 发布于 2012-07-12 21:33, 661 次点击
如果有一个windows消息产生了,但程序正在执行一个函数要很长时间才能完成。
请问?
1、是停止执行那个函数,转去执行消息函数。
2、还是等那个函数执行完,在去执行消息函数。
3、还是等那个函数执行完了,消息已经消亡了。
2 回复
#2
wanghejiang2012-07-18 03:32
请教
#3
yeye552012-07-18 14:04
Windows消息是放入消息队列中,然后应用程序从消息队列中读取消息。
如果执行的函数在主线程中,应用程序会等到函数执行完毕后,才从消息队列中读取消息。
在这段时间内,Windows消息被不断的放入到消息队列中。
由于Windows消息个头不大,应用程序长时间停止响应,不会造成消息队列的溢出。
但是,这是一个不好的设计。如果一个函数的耗时很多,就不要把这个函数放在主线程中。
1