_endthread, _endthreadex

Termina un thread; _endthread termina un thread creato da _beginthread e _endthreadex termina un thread creato da _beginthreadex.

Sintassi

void _endthread( void );
void _endthreadex(
   unsigned retval
);

Parametri

retval
Codice di uscita del thread

Osservazioni:

È possibile chiamare _endthread o _endthreadex in modo esplicito per terminare un thread. Tuttavia, _endthread o _endthreadex viene chiamato automaticamente quando il thread viene restituito dalla routine passata come parametro a _beginthread o _beginthreadex. La terminazione di un thread con una chiamata a endthread o a _endthreadex consente di assicurare il ripristino corretto delle risorse allocate per il thread.

Nota

Per un file eseguibile collegato a Libcmt.lib, non chiamare l'API Win32 ExitThread . Ciò impedisce al sistema di runtime di recuperare le risorse allocate. _endthread e _endthreadex recuperano le risorse del thread allocate, quindi chiamano ExitThread.

_endthread chiude automaticamente l'handle del thread. Questo comportamento è diverso da Win32 ExitThread API. Pertanto, quando si usa _beginthread e _endthread, non chiudere in modo esplicito l'handle di thread chiamando l'API Win32 CloseHandle .

Come l'API Win32 ExitThread , _endthreadex non chiude l'handle del thread. Pertanto, quando si usano _beginthreadex e _endthreadex, è necessario chiudere l'handle del thread chiamando l'API CloseHandle Win32.

Nota

_endthread e _endthreadex determinano la mancata chiamata dei distruttori C++ in sospeso nel thread.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Requisiti

Funzione Intestazione obbligatoria
_endthread <process.h>
_endthreadex <process.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Librerie

Solo versioni multithread delle librerie di runtime C .

Esempio

Vedere l'esempio per _beginthread.

Vedi anche

Processo e controllo dell'ambiente
_beginthread, _beginthreadex