Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Termina um thread; _endthread termina um thread criado por _beginthread e _endthreadex termina um thread criado por _beginthreadex.
Sintaxe
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.
Observação
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. (Esse comportamento difere do da API ExitThread do Win32.) Portanto, quando você usar _beginthread e _endthread, não feche explicitamente o identificador de thread 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.
Observação
As funções _endthread e _endthreadex fazem com que os destruidores C++ pendentes no thread não sejam chamados.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.
Requisitos
| Função | Cabeçalho necessário |
|---|---|
_endthread |
<process.h> |
_endthreadex |
<process.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Bibliotecas
Somente versões multi-threaded da biblioteca em tempo de execução do C.
Exemplo
Confira o exemplo de _beginthread.
Confira também
Controle de processo e ambiente
_beginthread, _beginthreadex