Sobes.tech
Назад к вопросам
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();