Compartir a través de


E/S asincrónica y RPC asincrónica

La E/S asincrónica es un medio eficaz para que un único subproceso administre varias solicitudes de E/S simultáneamente. RPC asincrónico en el servidor logra un propósito similar para las solicitudes RPC. En las versiones de Windows anteriores a Windows Vista, no se recomienda publicar solicitudes de E/S asincrónicas desde procedimientos de servidor mediante RPC asincrónico. Sin embargo, en Windows Vista y versiones posteriores de Windows, las solicitudes de E/S asincrónicas asociadas a un puerto de finalización de E/S son compatibles con RPC asincrónico.

Antes de Windows Vista, una llamada de procedimiento remoto asincrónico puede completarse antes de que se complete la solicitud de E/S asincrónica. Cuando se completa la llamada asincrónica, su subproceso puede finalizar si el tiempo de ejecución de RPC decide que tiene suficientes subprocesos disponibles para atender la carga de trabajo esperada. El sistema enlaza todas las solicitudes de E/S al subproceso que las inicia. Si finaliza el subproceso, se anulan las solicitudes de E/S pendientes en ese subproceso. Las solicitudes de E/S pendientes no se pueden mover a otro subproceso.

Por lo tanto, los diseñadores de aplicaciones destinados a versiones de Windows anteriores a Windows Vista pueden usar E/S sincrónica en procedimientos de servidor, o bien pueden reenviar todas las solicitudes que implican E/S asincrónica a procedimientos que se ejecutan en un grupo de subprocesos que administra la aplicación. La API de Windows proporciona funciones para la administración del grupo de subprocesos. Consulte Funciones de proceso y subproceso.