工作线程未完成时主线程关闭

时间:2013-09-10 05:05:05

标签: c++ multithreading mfc

在MFC项目中,我主要关注对话框。另一个工作线程专注于从服务器接收数据,解析数据并将数据更新到数据库中。

来自服务器的数据非常庞大。因此,当工作线程未完成时,通过单击关闭按钮来销毁对话框。但是工作线程不是独立的。当我在主线程中删除对象创建时,工作线程无法继续,也就是说。一些错误,如访问冲突问题。 (因为工作线程使用xxxxdialog类中的成员变量)。

我创建线程的方式是AfxBeginThread,我使用waitforsingleobject方法,仍然无法正常工作...

我不想强行杀死工作线程,否则会导致内存泄漏......

1 个答案:

答案 0 :(得分:0)

你应该在maindlg被销毁之前安全地终止工作线程。

以下是答案[Terminating a thread gracefully not using TerminateThread()]