❔ Вопрос с собеседования
В каких состояниях может находиться поток?
Ответ: Поток в Java может находиться в одном из следующих состояний, определённых перечислением Thread.State:
▶️ NEW — поток создан, но ещё не запущен (метод start() не вызывался)
▶️ RUNNABLE — поток готов к выполнению и может быть выбран планировщиком для исполнения. Это объединяет как активные, так и ожидающие исполнения потоки
▶️ BLOCKED — поток ожидает монитора, чтобы войти в синхронизированный блок/метод, занятый другим потоком
▶️ WAITING — поток ожидает, пока другой поток не вызовет notify(), notifyAll() или join() на объекте. Примеры: Object.wait(), Thread.join()
▶️ TIMED_WAITING — как WAITING, но с таймаутом. Например, sleep(), join(timeout), wait(timeout), LockSupport.parkNanos()
▶️ TERMINATED — поток завершил выполнение либо нормально (метод run() завершён), либо из-за необработанного исключения.
Эти состояния отражают внутреннюю модель выполнения JVM и используются для анализа поведения многопоточных программ.
tags: #собеседование
📱 Java Developer | Чат
Post #3116
3.26K
- 🔥 10
- 👍 7
- ❤ 6