Назад к вопросам
Junior
67
questionbank
В каких состояниях может находиться поток?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Поток в Java может находиться в следующих основных состояниях, определяемых перечислением Thread.State:
- NEW: Поток создан, но еще не запущен.
- RUNNABLE: Поток выполняется в JVM, но может ожидать выделения процессорного времени операционной системой. Включает состояния Running и Ready.
- BLOCKED: Поток блокирован и ожидает мониторного лока, чтобы войти в синхронизированный блок или метод, или reentry в него.
- WAITING: Поток ожидает другого потока выполнить определенное действие без ограничения по времени. Например, вызвав
Object.wait(),Thread.join()без таймаута, илиLockSupport.park(). - TIMED_WAITING: Поток ожидает другого потока выполнить определенное действие в течение заданного промежутка времени. Например, вызвав
Thread.sleep(),Object.wait()с таймаутом,Thread.join()с таймаутом,LockSupport.parkNanos()илиLockSupport.parkUntil(). - TERMINATED: Поток завершил выполнение.
Состояния потока можно получить с помощью метода thread.getState().