Windows消息处理机制:Windows通过GetMessage()函数从消息队列中取得消息,然后由DispatchMessage()函数将消息派送到指定窗口,再由窗口函数WndProc()对消息处理。
当单击“耗时计算”按钮时,一个WM_COMMAND连同相关的参数被发送到WndProc()函数,进而判断该消息由“耗时计算”按钮触发,然后转入对应的消息响应函数进行计算。但在计算结束之前,WndProc()函数不会返回,进而DispatchMessage()函数也不会返回,这样消息循环就不能通过GetMessage()函数从消息队列中获取下一条消息,也就使对话框陷入“瘫痪”状态。
因此,如果能够有两个控制流程,一个负责耗时计算,另一个负责响应用户及系统消息,那么就可以避免发生上述问题。多线程编程正是基于这种思想而出现的。
Windows消息处理与多线程
探讨了Windows消息处理机制中可能出现的问题,特别是在耗时计算任务导致的消息循环阻塞现象,并介绍了多线程编程如何解决此类问题。
2799

被折叠的 条评论
为什么被折叠?



