Executor — это интерфейс в Java, который определяет контракт для выполнения задач в пуле потоков. Вместо явного создания потоков для каждой задачи, вы передаете задачи исполнителям, а они управляют созданием, использованием и уничтожением потоков.
Основные преимущества:
Executor имеет один метод:
java
Часто используются подтипы:
ExecutorService: Расширяет Executor и предоставляет дополнительные методы для управления жизненным циклом исполнителя и получения результатов выполнения задач (например, через Future).ScheduledExecutorService: Расширяет ExecutorService и позволяет выполнять задачи с задержкой или по расписанию.Класс Executors предоставляет фабричные методы для создания различных типов исполнителей:
java
Пример использования:
java
При вызове execute(), исполнитель берет задачу (Runnable) и передает ее одному из потоков в своем пуле для выполнения. Управление распределением задач между потоками и их жизненным циклом берет на себя исполнитель.