Freigeben über


_endthread, _endthreadex

Beendet einen Thread; _endthread beendet einen Thread, der von _beginthread einem thread erstellt und _endthreadex beendet wird, der von _beginthreadex.

Syntax

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

Parameter

retval
Threadexitcode.

Hinweise

Sie können _endthread oder _endthreadex explizit aufrufen, um einen Thread zu beenden. Allerdings wird _endthread oder _endthreadex automatisch aufgerufen, wenn der Thread aus der als Parameter an _beginthread oder _beginthreadexübergebenen Routine zurückgegeben wird. Das Beenden eines Threads durch Aufruf von endthread oder _endthreadex stellt die ordnungsgemäße Wiederherstellung der dem Thread zugeordneten Ressourcen sicher.

Hinweis

Rufen Sie bei einer ausführbaren Datei, die mit Libcmt.lib verknüpft ist, nicht die Win32-API ExitThread auf. Dadurch wird verhindert, dass das Laufzeitsystem zugeordnete Ressourcen zurückgibt. _endthread und _endthreadex geben zugeordnete Threadressourcen frei und rufen dann ExitThreadauf.

_endthread schließt das Threadhandle automatisch. (Dieses Verhalten unterscheidet sich von win32 ExitThread API.) Wenn Sie daher den Threadhandle verwenden _beginthread und _endthreadnicht explizit schließen, indem Sie die Win32-API CloseHandle aufrufen.

Wie die Win32-API ExitThread_endthreadex schließt das Threadhandle nicht. Wenn Sie also _beginthreadex und _endthreadexverwenden, müssen Sie das Threadhandle durch Aufrufen der CloseHandle -Win32-API schließen.

Hinweis

_endthread und _endthreadex führen dazu, dass im Thread ausstehende C++-Destruktoren nicht aufgerufen werden.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.

Anforderungen

Funktion Erforderlicher Header
_endthread <process.h>
_endthreadex <process.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Bibliotheken

Nur Multithread-Versionen von C-Laufzeitbibliotheken .

Beispiel

Sehen Sie sich das Beispiel für _beginthread.

Siehe auch

Prozess- und Umgebungskontrolle
_beginthread, _beginthreadex