Назад к вопросам
Junior — Middle
66
Какие реализации интерфейса ExecutorService тебе известны и чем они отличаются?
Ответ от нейросети
sobes.tech AI
ExecutorService — это интерфейс для управления пулом потоков и асинхронным выполнением задач. Основные реализации из стандартной библиотеки Java:
- ThreadPoolExecutor — наиболее гибкая и часто используемая реализация, позволяет настраивать размер пула, очередь задач, политику обработки перегрузки.
- ScheduledThreadPoolExecutor — расширение ThreadPoolExecutor, поддерживает планирование задач с задержкой или периодическим выполнением.
- ForkJoinPool — предназначен для задач, которые можно разбивать на подзадачи (используется в Fork/Join framework), эффективен для параллельных вычислений.
Отличия:
- ThreadPoolExecutor подходит для общего назначения.
- ScheduledThreadPoolExecutor — для задач с таймерами.
- ForkJoinPool — для рекурсивного параллелизма.
Пример создания ThreadPoolExecutor:
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Задача выполнена"));
executor.shutdown();