win32com — принудительно убить поток C ++ win32

Я создал тему с этой строкой

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);

0

Решение

Вы можете прервать поток, используя TerminateThread (), используя дескриптор потока, полученный из CreateThread.

http://msdn.microsoft.com/en-us/library/ms686717(VS.85).aspx

PS: упоминается на сайте:
«TerminateThread — опасная функция, которую следует использовать только в самых крайних случаях. Вы должны вызывать TerminateThread только в том случае, если точно знаете, что делает целевой поток, и вы контролируете весь код, который целевой поток, возможно, может выполнять на время окончания. «

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]