Назад к вопросам
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 — расширенный сервис с управлением и контролем выполнения.