MFC主线程只关注对话框,需要处理从服务器接收的数据
MFC Main thread only focus on Dialog, need to deal with the data received from server
我的代码将从服务器接收xml数据,数据相当巨大。在完成从服务器接收xml数据后,我的代码想继续解析xml数据,然而,我不知道为什么线程专注于对话框来接收来自系统的消息来绘制或做其他事情。。。没有办法回到解析代码。但是,如果我关闭对话框,它会自动返回解析代码吗?
问题出在哪里?请帮帮我……
从互联网获取数据时,对话框的onpaint消息在消息循环中挂起。因为正如你所说,它的大数据,所以它挂起了你的应用程序。放置在消息队列中的所有其他消息。一旦您的应用程序从挂起状态返回,queque中出现的所有消息都开始执行。最后,对话框的WM_PAINT消息也是挂起的,它在change条件完成之后和读取xmle文件之前执行。
如果需要对话框在此期间做出响应,则需要在单独的线程中执行"接收和解析xml数据"。
使用CreateThread()启动一个线程,您可以使用GetExitCodeThread()检查线程是否已终止(并获取线程的退出代码)。
或者,您可以使用MFC CWinThread类来做同样的事情。
相关文章:
- 提升 Asio TCP 服务器 处理多个客户端
- grpcc++异步服务器示例,在处理状态下是否需要互斥
- ESP-CoAP 服务器调用资源处理程序,不接收包
- 将 URL/href 从网络服务器重新派生到ESP8266(以处理它)
- 如何处理在 CPP 中连接到服务器的多个客户端?
- 如果C/C Python3扩展托管HTTP服务器并将Python代码称为请求处理程序,则如何处理并发
- 在 Boost ASIO 服务器中处理生命周期
- GPRC服务器在处理的第二请求下崩溃
- 从QT Web服务器处理多个客户端
- 服务器在请求已经处理请求时收到请求时会崩溃
- 在多线程c++服务器应用程序中处理非常量全局配置
- 多线程服务器在一个线程中处理多个客户端
- c++tcp多线程客户端/服务器-如何与线程套接字处理程序进行通信
- 带有libpion的服务器在处理请求时崩溃
- 改进服务器以处理多个客户端
- 在没有连接的情况下调用C++Boost异步服务器处理程序
- 什么OOD设计模式应该用于服务器-处理-客户端请求
- 如何为服务器处理标记TCP
- 多客户端和单服务器处理
- 服务器处理的客户端命令C