Closed
Description
Description
The Thread-Pool Executor is a concurrency design pattern that maintains a pool of worker threads to process tasks. Rather than creating a new thread each time a task is submitted, the pattern reuses existing threads in the pool. This leads to more efficient CPU usage, less overhead from thread creation/destruction, and improved overall application performance.
Key Elements
- Thread Pool: A fixed or dynamically sized set of threads that carry out tasks.
- Task Submission: Tasks (e.g.,
Runnable
orCallable
) are placed in a queue for execution. - Executor / ExecutorService: Provides an interface for submitting tasks (
execute
,submit
) and managing the pool (shutdown, etc.). - Resource Management: Reusing threads reduces overhead and improves response time in high-load scenarios.
References
- Java Documentation for
ThreadPoolExecutor
- Java Concurrency in Practice (Brian Goetz)
- Java Design Patterns - Contribution Guidelines
Acceptance Criteria
- Create a new module or package named
thread-pool-executor
(or similar). - Demonstrate how tasks can be submitted to an executor service and processed by a pool of threads.
- Provide a README (or
.md
file) explaining the pattern, including code examples, diagrams, or both. - Ensure all code follows the repository’s style, naming conventions, and best practices.
- Include unit tests that confirm correct behavior under load (multiple tasks) and confirm proper shutdown.
- Pass all continuous integration checks and meet the project’s contribution guidelines.
Metadata
Metadata
Assignees
Projects
Status
Done