_endthread, _endthreadex
Termina un thread creato da _beginthread o da _beginthreadex, rispettivamente.
Importante |
---|
Questa API non può essere utilizzata nelle applicazioni che vengono eseguite in Windows Runtime.Per ulteriori informazioni, vedere 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 vengono chiamati automaticamente quando il thread termina la 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 ExitThread dell'API Win32; in questo modo si impedisce al sistema in fase di esecuzione di recuperare le risorse allocate._endthread e _endthreadex recuperano le risorse allocate al thread e poi chiamano ExitThread.
_endthread chiude automaticamente gli handle del thread.(Questo comportamento è diverso da quello dell'API Win32 ExitThread ). Pertanto, quando si utilizzano _beginthread e _endthread, l'handle del thread non viene chiuso in modo esplicito chiamando CloseHandle dell'API Win32.
Come ExitThread dell'API Win32, _endthreadex non chiude gli handle del thread.Di conseguenza, quando si utilizza _beginthreadex e _endthreadex, è necessario chiudere gli handle del thread chiamando CloseHandle dell'API Win32.
[!NOTA]
_endthread e _endthreadex fanno si che i distruttori di C++ pendenti nel thread non siano chiamati.
Requisiti
Funzione |
Intestazione obbligatoria |
---|---|
_endthread |
<process.h> |
_endthreadex |
<process.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.
Librerie
Solo versioni con multithreading delle Librerie di runtime C.
Esempio
Vedere l'esempio per _beginthread.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di Invocazione della Piattaforma.