我在程序的,INIT里面用了CWinthread* AA = AfxBeginThread(thread1,this);
在线程的实现函数里面用了大量的死循环和SLEEP();
这样我为了使在程序调试的时候,在死循环的条件达不到的时候,可以通过ESC或按纽让程序结束线城退出
我的做法如下:
加了个按扭
DWORD dwExitCode;
::GetExitThreadCode(AA->m_hThread,&dwExitCode);
TerminateThread(AA->m_hThread,dwExittCode);
CDialog::OnCancel();
程序可以退出,但是由内存泄露,请问这种情况如何处理???
在线程的实现函数里面用了大量的死循环和SLEEP();
这样我为了使在程序调试的时候,在死循环的条件达不到的时候,可以通过ESC或按纽让程序结束线城退出
我的做法如下:
加了个按扭
DWORD dwExitCode;
::GetExitThreadCode(AA->m_hThread,&dwExitCode);
TerminateThread(AA->m_hThread,dwExittCode);
CDialog::OnCancel();
程序可以退出,但是由内存泄露,请问这种情况如何处理???
{
while(true)
{
......
if(g_bExit)
{
break;
}
}
setevent(g_threadExit);}void testdlg::OnEsc()
{
g_bExit = TRUE;
WiatforSingleObject(g_threadExit, INFINITE)
}