mfc多线程创建,对话框关闭前退出进程

1.最近遇到一个问题,点击一个按钮,循环执行一个函数,但发现不再响应其他按钮操作,后来使用了双线程的方法。
在dlg头文件里定义CWinThread* pThread;
pThread=AfxBeginThread(
		handfuc,
		THREAD_PRIORITY_NORMAL,
		0,
		NULL,
		NULL);
UINT handfuc(LPVOID lpParam);
推荐通过修改全局变量使进程退出。
 
 
2.在程序退出时,如果按照原来的方法,修改全局变量让handfuc退出会出错,需要调用退出函数之前结束进程,所以需要在退出函数里添加一个等待函数
HANDLE handle0=pThread->m_hThread;
WaitForSingleObject(handle0,INFINITE);
。。。
CDialogEx::OnCancel();
 
 

你可能感兴趣的:(mfc多线程创建,对话框关闭前退出进程)