Compartir a través de


_endthread, _endthreadex

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

Nota importanteImportante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para más información, vea Funciones de CRT no admitidas con /ZW.

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.

NotaNota

En el caso de un archivo ejecutable vinculado a Libcmt.lib, no llame a la API ExitThread de Win32, ya que esto 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 es distinto que el de la API ExitThread de Win32. Por consiguiente, cuando use _beginthread y _endthread, no cierre el identificador del subproceso de forma explícita llamando a la API CloseHandle de Win32.

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

NotaNota

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

Requisitos

Función

Encabezado necesario

_endthread

<process.h>

_endthreadex

<process.h>

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

Bibliotecas

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

Ejemplo

Consulte el ejemplo de _beginthread.

Equivalente en .NET Framework

No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Vea también

Referencia

Control de proceso y de entorno

_beginthread, _beginthreadex