MFC中關閉線程的方法是通過調(diào)用CWinThread類的ExitInstance()方法來關閉線程。ExitInstance()方法會在線程執(zhí)行完畢后被調(diào)用,可以在該方法中進行線程的清理工作。下面是一個關閉MFC線程的示例代碼:
// 在主線程中關閉子線程
CWinThread* pThread = AfxBeginThread(MyThreadFunction, NULL);
// ...
// 關閉線程
pThread->PostThreadMessage(WM_QUIT, 0, 0);
// 子線程函數(shù)
UINT MyThreadFunction(LPVOID pParam)
{
// 線程執(zhí)行的代碼
// ...
// 線程執(zhí)行完畢,調(diào)用ExitInstance()方法關閉線程
AfxGetThread()->ExitInstance();
return 0;
}
在上面的示例代碼中,首先通過AfxBeginThread()函數(shù)創(chuàng)建一個子線程,并將線程函數(shù)指定為MyThreadFunction。然后,通過PostThreadMessage()函數(shù)向子線程發(fā)送WM_QUIT消息,通知子線程退出。最后,子線程執(zhí)行完畢后,調(diào)用AfxGetThread()->ExitInstance()方法關閉線程。