Какие реализации интерфейса ExecutorService тебе известны и чем они отличаются?

ExecutorService — это интерфейс для управления пулом потоков и асинхронным выполнением задач. Основные реализации из стандартной библиотеки Java:

Короткий ответ

Что ответить на собеседовании

ExecutorService — это интерфейс для управления пулом потоков и асинхронным выполнением задач. Основные реализации из стандартной библиотеки Java:

Подробный разбор

Ответ с пояснениями

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();

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее