_endthread, _endthreadex
Termina um thread; a _endthread termina um thread criado pela função_beginthread e a _endthreadex termina um thread criado pela função _beginthreadex.
Importante
Esta API não pode ser usada em aplicativos executados no Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT sem suporte com /ZW.
void _endthread( void ); void _endthreadex( unsigned retval );
Parâmetros
- retval
Código de saída do thread.
Comentários
Você pode chamar a função _endthread ou _endthreadex explicitamente para terminar um thread. No entanto, a função _endthread ou _endthreadex é chamada automaticamente quando o thread volta da rotina apresentada como parâmetro à função _beginthread ou _beginthreadex. Chamar a função endthread ou _endthreadex para terminar um thread ajuda a garantir que os recursos alocados ao thread sejam devidamente recuperados.
Dica
No caso de arquivos executáveis vinculados a Libcmt.lib, não chame a API ExitThread do Win32. Isso impede que o sistema do tempo de execução recupere os recursos alocados.As funções _endthread e _endthreadex recuperam os recursos alocados ao thread e chamam a API ExitThread.
A função _endthread fecha o identificador de thread automaticamente. O comportamento da API ExitThread do Win32 é diferente. Portanto, ao usar as funções _beginthread e _endthread, não feche o identificador de thread explicitamente chamando a API CloseHandle do Win32.
Como a API ExitThread do Win32, a função _endthreadex não fecha o identificador de thread. Portanto, ao usar as funções _beginthreadex e _endthreadex, você deve fechar o identificador de thread explicitamente chamando a API CloseHandle do Win32 para fechar o identificador de thread.
Dica
As funções _endthread e _endthreadex fazem com que os destruidores C++ pendentes no thread não sejam chamados.
Requisitos
Função |
Cabeçalho necessário |
---|---|
_endthread |
<process.h> |
_endthreadex |
<process.h> |
Para obter mais informações de compatibilidade, consulte Compatibilidade.
Libraries
Somente versões multithreaded da biblioteca de tempo de execução C.
Exemplo
Veja o exemplo de _beginthread.
Equivalência do .NET Framework
Não aplicável. Para chamar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.