MFC中Windows窗口消息循环及多线程之间关系
生活随笔
收集整理的這篇文章主要介紹了
MFC中Windows窗口消息循环及多线程之间关系
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
???Windows中一個進程可以包含多個線程,由多個線程組成。在Windows應用程序中,窗體是由“UI線程(User Interface Thread)”的特殊類型的線程創建的。一個UI線程包含一個消息循環對列。在窗口運行過程中,按下控件或對窗口進行一些操作等同于向消息循環隊列插入消息;然后由系統調用相應消息的響應函數,使用戶操作得到響應。
? ?當窗口某個消息的響應函數占用大量時間時,必定會影響窗口對下一個消息的響應。因此,對與那些比較耗時的操作的響應,使用多線程應該是個比較好的選擇。即在控件的響應函數中創建一個線程,在線程函數中完成比較耗時的操作。
????WaitForSingleObject()用于等待對線程函數的響應,通過這個函數也可以阻塞消息循環隊列的運行,影響窗口的響應速度。
注意:創建型線程函數:????CreateThread(NULL, 0, ThreadProc, (LPVOID) NULL, 0, NULL);
????????線程函數的格式:????DWORD WINAPI ThreadProc(LPVOID lpParameter);
????其中,線程函數必須是全局函數或者靜態成員函數
?
總結
以上是生活随笔為你收集整理的MFC中Windows窗口消息循环及多线程之间关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《 Spring 实战 》(第4版) 读
- 下一篇: java8 注解: @Functiona