Condividi tramite


_endthread, _endthreadex

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

Importante

Non è possibile usare questa API nelle applicazioni eseguite in Windows Runtime.Per altre informazioni, vedere l'argomento relativo alle funzioni CRT non supportate con /ZW.

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

Parametri

  • retval
    Codice di uscita del thread

Note

È 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 ExitThread Win32 in modo da non impedire 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 dall'API ExitThread Win32. Pertanto, quando si usano _beginthread e _endthread, non chiudere in modo esplicito l'handle del thread chiamando l'API Win32 CloseHandle.

Come l'API ExitThread Win32, _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.

Requisiti

Funzione

Intestazione obbligatoria

_endthread

<process.h>

_endthreadex

<process.h>

Per altre informazioni sulla compatibilità, vedere Compatibilità.

Librerie

Solo versioni multithread delle librerie di runtime C.

Esempio

Vedere l'esempio per _beginthread.

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione C standard, usare PInvoke. Per altre informazioni, vedere Esempi di platform invoke.

Vedere anche

Riferimenti

Controllo processo e ambiente

_beginthread, _beginthreadex