_endthread, _endthreadex
Termine un thread ; _endthread termine un thread créé par _beginthread et _endthreadex termine un thread créé par _beginthreadex.
Important
Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans le Windows Runtime.Pour plus d'informations, voir Fonctions CRT non prises en charge avec /ZW.
void _endthread( void ); void _endthreadex( unsigned retval );
Paramètres
- retval
Code de sortie de thread.
Notes
Vous pouvez appeler _endthread ou _endthreadex explicitement pour terminer un thread ; cependant, _endthread ou _endthreadex est appelé automatiquement quand le thread retourne de la routine passée en tant que paramètre à _beginthread ou _beginthreadex. Terminer un thread avec un appel à endthread ou _endthreadex permet de garantir une récupération correcte des ressources allouées pour le thread.
Notes
Pour un fichier exécutable lié à Libcmt.lib, n'appelez pas l'API Win32 ExitThread ; cela empêche le système runtime de récupérer les ressources allouées._endthread et _endthreadex récupèrent les ressources de thread allouées, puis appellent ExitThread.
_endthread ferme automatiquement le handle du thread. (Ce comportement diffère de l'API Win32 ExitThread.) Ainsi, quand vous utilisez _beginthread et _endthread, ne fermez pas explicitement le handle du thread en appelant l'API Win32 CloseHandle.
Comme l'API Win32 ExitThread, _endthreadex ne ferme pas le handle du thread. Ainsi, quand vous utilisez _beginthreadex et _endthreadex, vous devez fermer le handle du thread en appelant l'API Win32 CloseHandle.
Notes
_endthread et _endthreadex empêchent l'appel des destructeurs C++ en attente dans le thread.
Configuration requise
Fonction |
En-tête requis |
---|---|
_endthread |
<process.h> |
_endthreadex |
<process.h> |
Pour plus d'informations sur la compatibilité, voir Compatibilité.
Bibliothèques
Uniquement les versions multithread des bibliothèques Runtime C.
Exemple
Voir l'exemple pour _beginthread.
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, voir Exemples d'appel de plateforme.