Junior — Middle
Can you name different implementations of the ExecutorService interface that you know?
sobes.tech AI
Answer from AI
In Java, the ExecutorService interface has several popular implementations provided through the Executors class:
- ThreadPoolExecutor — a basic thread pool implementation with flexible configurations.
- ScheduledThreadPoolExecutor — an extension of ThreadPoolExecutor for executing tasks with delay or periodically.
- ForkJoinPool — a specialized pool for tasks that can be broken down into subtasks (used in the Fork/Join Framework).
Examples of creation:
ExecutorService fixedPool = Executors.newFixedThreadPool(5);
ExecutorService cachedPool = Executors.newCachedThreadPool();
ExecutorService scheduledPool = Executors.newScheduledThreadPool(3);
ExecutorService forkJoinPool = new ForkJoinPool();
Each implementation is suitable for different scenarios: a fixed pool for a limited number of threads, a cached pool for dynamic thread creation, a scheduler for delayed tasks, and ForkJoinPool for parallel computations.