_endthread
, _endthreadex
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