Стол комод

27.07.2016

Жизненный цикл пула потоков охватывает интервал времени от его создания до завершения всех его рабочих потоков. Жизненный цикл пула управляется и контролируется с помощью интерфейса ExecutorService, производного от интерфейса Executor, а его реализация выполняется классом ThreadPoolExecutor. Внутренние состояния пула потоков показаны на рис. 9.1.

Выполнение (Running) - начальное состояние пула потоков после создания. Он принимает входящие задачи и выполняет их в рабочих потоках.

Корректное завершение работы (Shutdown) - состояние после вызова метода ExecutorService. shutdown (). Пул потоков продолжает обрабатывать текущие выполняемые задачи и задачи, ожидающие в очереди, но отвергает попытки добавить новые задачи.

Немедленное завершение работы, Останов (Stop) - состояние после вызова метода ExecutorService.shutdownNow(). Выполнение рабочих потоков прерывается, и все задачи удаляются из очереди. Возможно вас заинтересует стол комод.

Очистка (Tidying) - внутренняя очистка (освобождение занятых ресурсов).

Завершён (Teiminated) - конечное состояние. Выполняющиеся задачи или рабочие потоки отсутствуют. Вызов ExecutorService. awaitTermination () снимает все блокировки, и затем вызывается метод ThreadPoolExecutor. terminated (). После завершения потоков все структуры данных, связанные с пулом, освобождаются.