Proactor pattern
Appearance
This article relies largely or entirely on a single source. (March 2024) |
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]![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/61/Proactor.VSD_SequenceDiagram.png/400px-Proactor.VSD_SequenceDiagram.png)
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]- ^ Pattern-Oriented Software Architecture, Volume 2, Schmidt et al., Jon Wiley & Sons, Ltd, 2000
External links
[edit]- Proactor - An Object Behavioral Pattern for Demultiplexing and Dispatching Handlers for Asynchronous Events, Irfan Pyarali, Tim Harrison, Douglas C. Schmidt, Thomas D. Jordan, 1997 (pdf 143 kB)