API de grupo de subprocesos
La interfaz de programación de aplicaciones (API) del grupo de subprocesos usa un diseño basado en objetos. Cada uno de los objetos siguientes se representa mediante una estructura de datos en modo de usuario:
- Un objeto pool es un conjunto de subprocesos de trabajo que se pueden usar para realizar el trabajo. Cada proceso puede crear varios grupos aislados con características diferentes según sea necesario. También hay un grupo predeterminado para cada proceso.
- Un grupo de limpieza está asociado a un conjunto de objetos que generan devoluciones de llamada. Existen funciones para esperar y liberar todos los objetos que son miembros de cada grupo de limpieza. Esto impide que la aplicación realice un seguimiento de todos los objetos que ha creado.
- Un objeto de trabajo se asigna a un grupo y, opcionalmente, a un grupo de limpieza. Se puede publicar, lo que hace que un subproceso de trabajo del grupo ejecute su devolución de llamada. Un objeto de trabajo puede tener varias publicaciones pendientes; cada genera una devolución de llamada. No se puede producir un error en la operación posterior debido a la falta de recursos.
- Un objeto de temporizador controla la programación de devoluciones de llamada. Cada vez que expira un temporizador, su devolución de llamada se publica en su grupo de trabajo. No se puede producir un error al establecer un temporizador debido a la falta de recursos.
- Un objeto wait hace que un subproceso de espera espere en un identificador esperable. Una vez satisfecho la espera o el período de tiempo de espera expira, el subproceso del camarero publica la devolución de llamada de los objetos de espera en el grupo de trabajo de la espera. No se puede producir un error al establecer una espera debido a la falta de recursos.
- Un objeto de E/S asocia un identificador de archivo con el puerto de finalización de E/S para el grupo de subprocesos. Cuando se completa una operación de E/S asincrónica, un subproceso de trabajo recoge el estado de la operación y llama a la devolución de llamada del objeto de E/S.
En la tabla siguiente se describen las características de las API del grupo de subprocesos original y actual.
Temas relacionados