Freigeben über


_endthread, _endthreadex

Beendet einen Thread. _endthread beendet einen von _beginthread erstellten Thread, und _endthreadex beendet einen von _beginthreadex erstellten Thread.

Wichtig

Diese API kann nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden.Weitere Informationen finden Sie unter CRT-Funktionen nicht mit /ZW unterstützt.

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 für eine mit "Libcmt.lib" verknüpfte ausführbare Datei die ExitThread-Win32-API nicht auf, damit das Laufzeitsystem nicht an der Freigabe von zugeordneten Ressourcen gehindert wird._endthread und _endthreadex geben zugeordnete Threadressourcen frei und rufen dann ExitThread auf.

_endthread schließt das Threadhandle automatisch. (Dieses Verhalten unterscheidet sich von dem der ExitThread-Win32-API.) Wenn Sie also _beginthread und _endthread verwenden, schließen Sie das Threadhandle nicht explizit mit dem Aufruf der Win32-CloseHandle-API.

Wie die ExitThread-Win32-API schließt _endthreadex nicht das Threadhandle. 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.

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

Weitere Informationen finden Sie im Beispiel für _beginthread.

.NET Framework-Entsprechung

Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.

Siehe auch

Referenz

Prozess- und Umgebungssteuerung

_beginthread, _beginthreadex