我写多线程程序。安全地停止线程
我想问一下TerminateThread
和ExitThread
有什么区别?
这是当WM_DESTROY
收到我的代码片段:
void CleanAll()
{
DWORD dwExit[MAX_THREAD];
for(int i = 0; i < MAX_THREAD; i++)
{
GetExitCodeThread(hThread[i], &dwExit[i]);
// I used ExitThread(dwExit[i]); previously
TerminateThread(hThread[i], dwExit[i]);
CloseHandle(hThread[i]);
}
}
我用ExitThread()
以前,但在任务管理器中我的程序stikk,所以我将其更改为TerminateThread()
和我的程序从任务管理器了。
任何事先的解释是非常赞赏。
感谢您的回复jweyrich,我的问题解决了,我遵循Selbie的指示,正如您所说,它只是从线程函数返回。 – user1888256