Partager via


_endthread, _endthreadex

Met fin à un thread ; _endthread met fin à un thread créé par _beginthread et _endthreadex met fin à un thread créé par _beginthreadex.

Syntaxe

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.

Remarque

Pour un fichier exécutable lié à Libcmt.lib, n’appelez pas l’API Win32 ExitThread . Cela empêche le système d’exécution de récupérer des 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 Win32 ExitThread API.) Par conséquent, lorsque vous utilisez _beginthread et _endthreadque vous ne fermez pas explicitement le handle de thread en appelant l’API Win32 CloseHandle .

Comme l’API Win32 ExitThread , _endthreadex ne ferme pas le handle de thread. Ainsi, quand vous utilisez _beginthreadex et _endthreadex, vous devez fermer le handle du thread en appelant l'API Win32 CloseHandle .

Remarque

_endthread et _endthreadex empêchent l'appel des destructeurs C++ en attente dans le thread.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Spécifications

Fonction En-tête requis
_endthread <process.h>
_endthreadex <process.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Bibliothèques

Uniquement les versions multithread des bibliothèques Runtime C .

Exemple

Consultez l’exemple pour _beginthread.

Voir aussi

Processus et contrôle d’environnement
_beginthread, _beginthreadex