Voltar à lista
Windows Win32Processos & threadskernel32.dll

TerminateThread

Encerra à força uma thread arbitrária de forma não cooperativa.

Descrição

Extremamente perigosa: a thread alvo é interrompida em qualquer ponto, sem chance de liberar locks ou recursos, podendo corromper o estado do processo. A documentação da Microsoft desaconselha seu uso salvo em último caso.

Header: processthreadsapi.hDLL: kernel32.dllNative API: NtTerminateThread

Atenção

Não existe um equivalente seguro no Linux para isso — `pthread_cancel` com cancelamento assíncrono tem riscos parecidos e também é desencorajado pela mesma razão: recursos e locks podem ficar em estado inconsistente.

Assinatura

BOOL TerminateThread(HANDLE hThread, DWORD dwExitCode);

Parâmetros

ParâmetroTipoDescrição
hThreadHANDLEHandle da thread a terminar.
dwExitCodeDWORDCódigo de saída a reportar.

Valor de retorno

Diferente de zero em sucesso; 0 em erro (consulte GetLastError).

Códigos de erro (GetLastError)

ERROR_ACCESS_DENIED(5)
Acesso negado.
ERROR_INVALID_HANDLE(6)
O identificador (handle) informado é inválido.

Relacionadas