Compartilhar via


_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.

Consulte também

Referência

Processo e controle de ambiente

_beginthread, _beginthreadex