Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proactor pattern #78

Open
iluwatar opened this issue Jun 23, 2015 · 5 comments
Open

Proactor pattern #78

iluwatar opened this issue Jun 23, 2015 · 5 comments

Comments

@iluwatar
Copy link
Owner

iluwatar commented Jun 23, 2015

Description:
The Proactor design pattern is an asynchronous programming pattern used to efficiently handle multiple concurrent operations. In this pattern, the application initiates asynchronous operations and a separate handler (the Proactor) deals with the completion of these operations. The Proactor pattern is useful in scenarios where the system needs to handle a high number of I/O operations, such as in network servers and high-performance computing applications.

Main Elements of Proactor Pattern:

  1. Initiator: The component that initiates asynchronous operations.
  2. Asynchronous Operation: The operations that are performed asynchronously, often related to I/O tasks.
  3. Completion Handler: A callback or handler that is invoked when the asynchronous operation is complete.
  4. Proactor: The dispatcher that manages the completion of asynchronous operations and invokes the appropriate handlers.
  5. Operation Result: The data or result obtained after the completion of the asynchronous operation.

References:

  1. Proactor Design Pattern - Wikipedia
  2. Asynchronous I/O - Proactor Pattern

Acceptance Criteria:

  1. The implementation should include a clear separation of the main elements: Initiator, Asynchronous Operation, Completion Handler, and Proactor.
  2. A working example demonstrating the Proactor pattern in a real-world scenario, such as a network server handling multiple simultaneous connections.
  3. Comprehensive unit tests to verify the correct behavior of each component in the pattern, ensuring robustness and reliability.
@Sea-Sheep
Copy link

I just add them according to the document in the Internet @iluwatar and pr :)

@ohbus
Copy link
Contributor

ohbus commented May 22, 2021

⭐ Sure thing! Thanks for your interest in our project 😃

@iluwatar
Copy link
Owner Author

Please indicate if you are still working on this issue @Sea-Sheep

@Sea-Sheep
Copy link

have updated the pr for the latest code @iluwatar

pratigya0 pushed a commit to pratigya0/java-design-patterns that referenced this issue Aug 3, 2023
@iluwatar
Copy link
Owner Author

Updated task description

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment