Встречается на собеседованиях • сегодня

В чем разница между ExecutorService и Thread

ExecutorService — это высокоуровневый интерфейс для управления пулом потоков, предоставляющий удобные методы для запуска, управления и завершения задач. Он абстрагирует ручное создание и управление потоками (Thread).

Thread — это низкоуровневый класс, представляющий отдельный поток выполнения. Вручную создавать и управлять потоками сложнее, особенно при масштабировании.

Пример:

java
// Thread (низкоуровневый подход)
Thread thread = new Thread(() -> System.out.println("Task running"));
thread.start();

// ExecutorService (высокоуровневый подход)
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> System.out.println("Task in pool"));
executor.shutdown();

Ключевые отличия:

  • ExecutorService управляет пулом потоков, переиспользуя их, а Thread создает новый поток для каждой задачи.
  • ExecutorService предоставляет методы для контроля выполнения (shutdown(), awaitTermination()), а Thread требует ручного управления.
  • ExecutorService поддерживает Future и Callable для асинхронных результатов.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы