Proactor pattern
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
![](../I/m/Proactor.VSD_SequenceDiagram.png)
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
gollark: I do want to get gitkab.com just to see how many typoed requests I get.
gollark: https://gogle.cloud/
gollark: This is technically a URL shortener.
gollark: Twitter has `t.co`, for instance.
gollark: Because `[some emoji].[TLD]` isn't very impressive.
See also
- Reactor pattern (a pattern that also asynchronously queues events, but demultiplexes and dispatches them synchronously)
References
- Pattern-Oriented Software Architecture, Volume 2, Schmidt et al., Jon Wiley & Sons, Ltd, 2000
External links
- 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)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.