Proactor es un patrón de diseño de software para el manejo de eventos en el que las actividades de larga duración se ejecutan en una parte asincrónica. Se llama a un controlador de finalización después de que la parte asincrónica ha terminado. El patrón proactor puede considerarse una variante asincrónica del patrón de reactor síncrono . [1]
Interacción
Actores específicos de la operación:
- El iniciador proactivo inicia la operación asincrónica a través del procesador de operación asincrónica y define el controlador de finalización.
- Completion Handler es una llamada al final de la operación desde el procesador de operaciones asincrónicas
- Operación asincrónica
Actores estandarizados
- El procesador de operaciones asincrónicas controla toda la operación asincrónica
- El despachador Finalización gestiona la llamada, dependiendo del entorno de ejecución.
Implementaciones
- Proactor y Boost.Asio ( C ++ )
- Entorno de comunicación adaptable ( C ++ )
- RJR (rubí)
Ver también
- Patrón de reactor (un patrón que también pone en cola los eventos de forma asíncrona, pero los demultiplexa y distribuye de forma síncrona)
Referencias
- ^ Arquitectura de software orientada a patrones, volumen 2, Schmidt et al., Jon Wiley & Sons, Ltd, 2000
enlaces externos
- Proactor: un patrón de comportamiento de objetos para manipuladores de demultiplexación y envío de eventos asincrónicos , Irfan Pyarali, Tim Harrison, Douglas C. Schmidt , Thomas D. Jordan, 1997 (pdf 143 kB)