MFC中消息的处理是同步的还是异步的?
就是说是不是要等前一个消息处理完才处理下一个消息? 问题点数:20、回复次数:6Top
1 楼alino(小舞)回复于 2005-05-30 17:16:16 得分 4
。。。。
消息的处理是调用函数,,例如通常对话框点击Ok按钮的消息的处理,是通过调用函数OnOK来实现的,,,,这个消息没处理完,也就是这个函数没处理完。。。函数进行到一半,程序怎么可能可以突然跳走了,去处理另一个消息?(即执行另一个函数)Top
2 楼shusong1228(mugong)回复于 2005-05-30 18:22:28 得分 4
必须处理完一个消息后,才会接着处理下一个消息Top
3 楼Memocs(Memo.Chen)回复于 2005-05-30 18:34:26 得分 3
sendmessage 的消息会等着处理完才返回
postmessage 的消息传递过去立即返回Top
4 楼goodboy1881(积木)(谁都别拦着我在水源升星)回复于 2005-05-30 19:05:55 得分 3
处理消息的策略不是MFC定下来的,而是windows定下来的,
windows是通过一个消息队列来处理消息的,至于什么时候处理,就是系统的问题了
不过处理函数都还是原子的……Top
5 楼KevinWon(Kevin)回复于 2005-05-30 21:01:48 得分 3
你试一下调用一个深度递归函数 然后试试移动窗口就知道是不是同步了Top
6 楼ghgk(红猪侠)回复于 2005-05-30 21:06:50 得分 3
消息是以队列形式处理,完成返回一个才会处理下一个。一个线程有一个消息队列,如果你有多个线程那么就可以同步。Top




