簡體   English   中英

MFC主線程僅關注Dialog,需要處理從服務器接收的數據

[英]MFC Main thread only focus on Dialog, need to deal with the data received from server

我的代碼將從服務器接收xml數據 ,該數據非常龐大。 從服務器接收完xml數據后,我的代碼想繼續解析xml數據,但是,我不知道為什么線程集中在對話框上以從系統接收消息以進行繪制或執行其他操作...沒辦法回到解析代碼。 但是,如果我關閉對話框,它將自動返回解析代碼?

問題是什么? 請幫我.....

從Internet上獲取數據時,對話框的上載消息正在消息循環中掛起。因為您說的是大數據,所以它掛起了您的應用程序。所有其他消息都放入了消息隊列。一旦您的應用程序從掛起狀態返回,所有消息最后出現在對話框中的WM_PAINT消息也處於掛起狀態,該消息在掛起條件完成之后且在讀取xmle文件之前執行。

如果您需要對話框在此期間響應,則需要在單獨的線程中執行“接收並解析xml數據”。

使用CreateThread()啟動線程,可以使用GetExitCodeThread()檢查線程是否已終止(並獲取線程的退出代碼

或者,您可以使用MFC CWinThread類來執行相同的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM