_endthread, _endthreadex
div
TOC
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

_endthread, _endthreadex

Terminate a thread created by _beginthread or _beginthreadex, respectively.

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

Parameter

retval
Thread exit code.

Remarks

You can call _endthread or _endthreadex explicitly to terminate a thread; however, _endthread or _endthreadex is called automatically when the thread returns from the routine passed as a parameter to _beginthread or _beginthreadex. Terminating a thread with a call to endthread or _endthreadex helps to ensure proper recovery of resources allocated for the thread.

Note   For an executable file linked with LIBCMT.LIB, do not call the Win32 ExitThread API; this prevents the run-time system from reclaiming allocated resources. _endthread and _endthreadex reclaim allocated thread resources and then call ExitThread.

_endthread automatically closes the thread handle. (This behavior differs from the Win32 ExitThread API.) Therefore, when you use _beginthread and _endthread, do not explicitly close the thread handle by calling the Win32 CloseHandle API.

Like the Win32 ExitThread API, _endthreadex does not close the thread handle. Therefore, when you use _beginthreadex and _endthreadex, you must close the thread handle by calling the Win32 CloseHandle API.

Requirements

Function Required header Compatibility
_endthread <process.h> Win 98, Win Me, Win NT, Win 2000, Win XP
_endthreadex <process.h> Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.

Libraries

Multithreaded versions of the C run-time libraries only.

Example

See the example for _beginthread.

See Also

Process and Environment Control Routines | _beginthread | Run-Time Routines and .NET Framework Equivalents

Show:
© 2016 Microsoft