_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 ExitThread
auf.
_endthread
schließt das Threadhandle automatisch. (Dieses Verhalten unterscheidet sich von win32 ExitThread
API.) Wenn Sie daher den Threadhandle verwenden _beginthread
und _endthread
nicht 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 _endthreadex
verwenden, 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. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Funktion | Erforderlicher Header |
---|---|
_endthread |
<process.h> |
_endthreadex |
<process.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Libraries
Nur Multithread-Versionen von C-Laufzeitbibliotheken .
Beispiel
Ein Beispiel hierfür finden Sie unter _beginthread
.
Siehe auch
Prozess- und Umgebungskontrolle
_beginthread
, _beginthreadex