Sobes.tech
Назад к вопросам
Middle
12

Отличие интерфейса Executor от ExecutorService?

Компании, где спрашивали
Позитив Технолоджис

Ответ от нейросети

sobes.tech AI

Executor — это базовый интерфейс, который определяет метод execute(Runnable command) для запуска задач.

ExecutorService расширяет Executor и добавляет более мощные возможности управления задачами и жизненным циклом пула потоков:

  • Позволяет отправлять задачи и получать Future для отслеживания результата.
  • Поддерживает методы для завершения работы, например, shutdown() и shutdownNow().
  • Позволяет выполнять задачи с тайм-аутами, ожидать завершения и т.д.

Пример:

Executor executor = Executors.newSingleThreadExecutor();
executor.execute(() -> System.out.println("Task executed"));

ExecutorService service = Executors.newFixedThreadPool(2);
Future<String> future = service.submit(() -> "Result");
String result = future.get();
service.shutdown();

Таким образом, Executor — это простой интерфейс для запуска задач, а ExecutorService — расширенный сервис с управлением и контролем выполнения.