1. 定义
同步消息: 消息被处理完,然后才返回
异步消息: 消息只管放入消息队列,不管是否被处理,直接返回
2. MFC消息函数中:
SendMessage/OnWndMsg: 同步消息函数
PostMessage/GetMessage/PeekMessage: In Message Queue 异步消息函数
3. 线程同步:
a. MFC的窗口实际是单线程的,无论是模态对话框还是非模态,都属于afxGetApp()线程,CWinApp继承自CWinThread
b. MFC的Timer实现也非多线程的方法,而是通过中断/消息机制实现的
这与1/2并不矛盾,例如,在一个函数中,使用PostMessage发送多个消息,这些消息都被放入到消息队列中,等待这个函数执行完了,这个消息才会被依次处理。
时间: 2024-11-02 18:42:37