Share via


_endthread, _endthreadex

Termina un subproceso; _endthread termina un subproceso creado por _beginthread y _endthreadex termina un subproceso creado por _beginthreadex.

Sintaxis

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

Parámetros

retval
Código de salida del subproceso.

Comentarios

Puede llamar a _endthread o _endthreadex explícitamente para terminar un subproceso; sin embargo, se llama a _endthread o _endthreadex automáticamente cuando el subproceso vuelve de la rutina que se pasa como parámetro a _beginthread o _beginthreadex. Si se finaliza un subproceso con una llamada a endthread o las ayudas de _endthreadex , se garantiza la recuperación correcta de los recursos que se asignan para el subproceso.

Nota:

En el caso de un archivo ejecutable vinculado a Libcmt.lib, no llame a la API ExitThread de Win32, ya que se impide que el sistema en tiempo de ejecución reclame los recursos asignados. _endthread y _endthreadex recuperan los recursos de subprocesos asignados y después llaman a ExitThread.

_endthread cierra automáticamente el identificador del subproceso. (Este comportamiento difiere del de la API ExitThread de Win32). Por lo tanto, cuando use _beginthread y _endthread, no cierre explícitamente el identificador de subproceso llamando a la API CloseHandle de Win32.

Al igual que la API ExitThread de Win32, _endthreadex no cierra el identificador de subproceso. Por consiguiente, al usar _beginthreadex y _endthreadex, debe cerrar el identificador de subproceso llamando a la API CloseHandle de Win32.

Nota:

_endthread y _endthreadex hacen que no se llame a los destructores de C++ pendientes en el subproceso.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Requisitos

Función Encabezado necesario
_endthread <process.h>
_endthreadex <process.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Bibliotecas

Solo las versiones de multiproceso de las bibliotecas en tiempo de ejecución de C .

Ejemplo

Vea el ejemplo de _beginthread.

Consulte también

Control de procesos y entornos
_beginthread, _beginthreadex