Поиск по сайту:

Жизненный цикл потока в Java — состояния потока в Java


Понимание жизненного цикла потоков в Java и состояний потоков очень важно при работе с потоками и программировании для многопоточной среды. Из нашего последнего урока мы можем создать класс потока Java, реализовав интерфейс Runnable или расширив класс Thread, но чтобы запустить поток Java, мы сначала должны создать объект Thread и вызвать его метод start() для выполнения метода run(). как нить.

Жизненный цикл потока в Java

Новый

Когда мы создаем новый объект Thread с помощью оператора new, состоянием потока является New Thread. На данный момент поток не активен, и это внутреннее состояние программирования на Java.

Запускаемый

Когда мы вызываем функцию start() для объекта Thread, ее состояние меняется на Runnable. Управление передается планировщику потоков для завершения его выполнения. Запускать ли этот поток немедленно или сохранять его в пуле доступных для выполнения потоков перед запуском, зависит от реализации планировщика потоков в ОС.

Бег

Когда поток выполняется, его состояние меняется на Выполняется. Планировщик потоков выбирает один из потоков из пула исполняемых потоков и меняет его состояние на «Выполняется». Затем ЦП начинает выполнять этот поток. Поток может изменить состояние на Runnable, Dead или Blocked из рабочего состояния в зависимости от разделения времени, завершения потока метода run() или ожидания некоторых ресурсов.

Заблокировано/ожидание

Поток может ожидать, пока другой поток завершит использование реализации уведомителя ожидания или ресурсов ввода-вывода, тогда его состояние изменится на Ожидание. Как только состояние ожидания потока заканчивается, его состояние изменяется на Runnable, и он возвращается в пул потоков runnable.

Мертвый

Как только поток завершает выполнение, его состояние меняется на Dead и считается неактивным. Выше приведены различные состояния потока. Хорошо знать их и то, как поток меняет свое состояние. Это все, что касается жизненного цикла потока в Java.