Junior — Middle
Why is the use of ExecutorService necessary when processing a large number of tasks?
sobes.tech AI
Answer from AI
ExecutorService in Java is used for managing a thread pool and simplifying the parallel execution of a large number of tasks. Its necessity is driven by the following reasons:
- Resource management: Instead of creating a new thread for each task, ExecutorService reuses a limited number of threads, reducing overhead.
- Simplification of code: Allows running tasks asynchronously without direct thread management.
- Execution control: Tasks can be easily canceled, waited upon for completion, and results can be obtained via Future.
Example of usage:
ExecutorService executor = Executors.newFixedThreadPool(5);
for (int i = 0; i < 10; i++) {
int taskId = i;
executor.submit(() -> {
System.out.println("Task " + taskId + " is running");
});
}
executor.shutdown();