Share via


Función SwitchToThread (processthreadsapi.h)

Hace que el subproceso que realiza la llamada ceda la ejecución a otro subproceso que está listo para ejecutarse en el procesador actual. El sistema operativo selecciona el siguiente subproceso que se va a ejecutar.

Sintaxis

BOOL SwitchToThread();

Valor devuelto

Si se llama a la función SwitchToThread , el sistema operativo cambió la ejecución a otro subproceso, el valor devuelto es distinto de cero.

Si no hay ningún otro subproceso listo para ejecutarse, el sistema operativo no cambia la ejecución a otro subproceso y el valor devuelto es cero.

Comentarios

El rendimiento de la ejecución se aplica hasta un segmento de tiempo de programación de subprocesos en el procesador del subproceso que realiza la llamada. El sistema operativo no cambiará la ejecución a otro procesador, incluso si ese procesador está inactivo o ejecuta un subproceso de prioridad inferior.

Una vez transcurrido el segmento de tiempo del subproceso que produce, el sistema operativo vuelve a programar la ejecución del subproceso que produce. La reprogramación viene determinada por la prioridad del subproceso que produce y el estado de otros subprocesos que están disponibles para ejecutarse.

Tenga en cuenta que el sistema operativo no cambiará a un subproceso que se impide que solo se ejecute mediante el control de simultaneidad. Por ejemplo, un puerto de finalización de E/S o un grupo de subprocesos limita el número de subprocesos asociados que se pueden ejecutar. Si el número máximo de subprocesos ya se está ejecutando, no se puede ejecutar ningún subproceso asociado adicional hasta que finalice un subproceso en ejecución. Si un subproceso usa SwitchToThread para esperar a que uno de los subprocesos asociados adicionales realice algún trabajo, el proceso podría interbloquear.

Para compilar una aplicación que usa esta función, defina _WIN32_WINNT como 0x0400 o posterior. Para obtener más información, vea Usar los encabezados de Windows.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado processthreadsapi.h (incluye Windows.h en Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Funciones de proceso y subproceso

SuspendThread

Suspender la ejecución de subprocesos

Subprocesos