Что Thread.State
из потока после Thread.yield()
? Это - a Thread.State.WAITING
?Спасибо.
Нет, поток все еще будет в состоянии RUNNABLE
. Обратите внимание, что RUNNABLE
означает, что поток доступен для запуска и может быть запущен в данный момент или ожидает своей очереди. Thread.STATE
не делает различий между потоком, который в настоящее время выполняется, и потоком, который готов к запуску, они оба RUNNABLE
.
Поток войдет в состояние WAITING
, только если wait ()
, join ()
или LockSupport.park ()
был вызван.
Вызывая метод Thread.yield ()
, текущий запущенный поток добровольно отказывается от своей части процессорного времени. Затем этот поток переходит из состояния обратно в состояние готовности.