Я создал тему с этой строкой
threadHandle = CreateThread(NULL, FALSE, Threadhandle1, NULL, 0, NULL);
Я хочу принудительно убить поток, не дожидаясь его завершения
Код нити: —
DWORD WINAPI Threadhandle1(void* data){
Sleep(5000);
MessageBox(NULL, TEXT("First"), L"Simple Message", NULL);
Sleep(5000);
MessageBox(NULL, TEXT("Second"), L"Simple Message", NULL);
return 0;
}
Код для остановки потока: —
TerminateThread(threadHandle, 0);
CloseHandle(threadHandle);
Вы можете прервать поток, используя TerminateThread (), используя дескриптор потока, полученный из CreateThread.
http://msdn.microsoft.com/en-us/library/ms686717(VS.85).aspx
PS: упоминается на сайте:
«TerminateThread — опасная функция, которую следует использовать только в самых крайних случаях. Вы должны вызывать TerminateThread только в том случае, если точно знаете, что делает целевой поток, и вы контролируете весь код, который целевой поток, возможно, может выполнять на время окончания. «
Других решений пока нет …