在MFC项目中,我主要关注对话框。另一个工作线程专注于从服务器接收数据,解析数据并将数据更新到数据库中。
来自服务器的数据非常庞大。因此,当工作线程未完成时,通过单击关闭按钮来销毁对话框。但是工作线程不是独立的。当我在主线程中删除对象创建时,工作线程无法继续,也就是说。一些错误,如访问冲突问题。 (因为工作线程使用xxxxdialog类中的成员变量)。
我创建线程的方式是AfxBeginThread,我使用waitforsingleobject方法,仍然无法正常工作...
我不想强行杀死工作线程,否则会导致内存泄漏......
答案 0 :(得分:0)
你应该在maindlg被销毁之前安全地终止工作线程。
以下是答案[Terminating a thread gracefully not using TerminateThread()]