Proactor is a software design pattern for event handling in which long running activities are running in an asynchronous part. A completion handler is called after the asynchronous part has terminated. The proactor pattern can be considered to be an asynchronous variant of the synchronous reactor pattern.[1]

Interaction

edit
UML Sequence diagram of Proactor

Operation specific actors:

  • The Proactive Initiator starts the asynchronous operation via the Asynchronous Operation Processor and defines the Completion Handler
  • Completion Handler is a call at the end of the operation from the Asynchronous Operation Processor
  • Asynchronous Operation

Standardized actors

  • The Asynchronous Operation Processor controls the whole asynchronous operation
  • The Completion Dispatcher handles the call, depending on the execution environment.

Implementations

edit

See also

edit
  • Reactor pattern (a pattern that also asynchronously queues events, but demultiplexes and dispatches them synchronously)

References

edit
  1. ^ Pattern-Oriented Software Architecture, Volume 2, Schmidt et al., Jon Wiley & Sons, Ltd, 2000
edit


📚 Artikel Terkait di Wikipedia

Reactor pattern

software frameworks for networking. Derivations such as the multireactor and proactor also exist for special cases where even greater throughput, performance

Event (computing)

handling Interrupt handler Interrupts Observer pattern (e.g., Event listener) Reactor pattern vs. Proactor pattern Signals and slots – Language construct in

Transaction-level modeling

Event loop Event-driven programming Message passing Reactor pattern vs. Proactor pattern Transaction processing Asynchronous circuit Assembly modelling

Asynchronous I/O

Asynchronous I/O and The Asynchronous Disk I/O Explorer IO::AIO is a Perl module offering an asynchronous interface for most I/O operations ACE Proactor