等待子窗口創建完成的阻塞問題
當前環境:
主線程維護主窗口的消息循環
期望的動作:
1. 主線程啟動一個子線程,等待子線程的事件(Event)。
2. 子線程創建一個窗口,當創建成功向主線程發送事件(Event)。
問題:
1. 主線程一直等待事件
2. 子線程調用CreateWindows無返回。
原因:
1. 子窗口在創建時會向其父窗口發送WM_PARENTNOTIFY,因此子線程等待父窗口的處理結果。
2. 主線程在等待子線程發送的事件,不能處理消息。
隨筆 - 51, 文章 - 1, 評論 - 41, 引用 - 0
|
等待子窗口創建完成的阻塞問題當前環境: 主線程維護主窗口的消息循環 期望的動作: 1. 主線程啟動一個子線程,等待子線程的事件(Event)。 2. 子線程創建一個窗口,當創建成功向主線程發送事件(Event)。 問題: 1. 主線程一直等待事件 2. 子線程調用CreateWindows無返回。 原因: 1. 子窗口在創建時會向其父窗口發送WM_PARENTNOTIFY,因此子線程等待父窗口的處理結果。 2. 主線程在等待子線程發送的事件,不能處理消息。
|
||||||||||||||||||||||