Потоки могут находиться в одном из следующих состояний:
✔️ Новый (New). После создания экземпляра потока, он находится в состоянии Новый до тех пор, пока не вызван метод
start(). В этом состоянии поток не считается живым.✔️ Работоспособный (Runnable). Поток переходит в состояние Работоспособный, когда вызывается метод
start(). Поток может перейти в это состояние также из состояния Работающий или из состояния Блокирован. Когда поток находится в этом состоянии, он считается живым.✔️ Работающий (Running). Поток переходит из состояния Работоспособный в состояние Работающий, когда Планировщик потоков выбирает его как работающий в данный момент.
✔️ Живой, но не работоспособный (Alive, but not runnable). Поток может быть живым, но не работоспособным по нескольким причинам:
▪️Ожидание (Waiting). Поток переходит в состояние Ожидания, вызывая метод
wait(). Вызов notify() или notifyAll() может перевести поток из состояния Ожидания в состояние Работоспособный.▪️Сон (Sleeping). Метод
sleep() переводит поток в состояние Сна на заданный промежуток времени в миллисекундах.▪️Блокировка (Blocked). Поток может перейти в это состояние, в ожидании ресурса, такого как ввод/вывод или из-за блокировки другого объекта. В этом случае поток переходит в состояние Работоспособный, когда ресурс становится доступен.
▪️Мёртвый (Dead). Поток считается мёртвым, когда его метод
run() полностью выполнен. Мёртвый поток не может перейти ни в какое другое состояние, даже если для него вызван метод start().#java #Thread #state
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3