Встречается на собеседованиях • сегодня
Сколько знаешь состояний потоков
В Java у потоков (Thread) есть 6 основных состояний, определенных в Thread.State:
- NEW - поток создан, но еще не запущен (
start()не вызван). - RUNNABLE - поток готов к выполнению, ожидает выделения CPU.
- BLOCKED - поток заблокирован, ожидает монитор (например, при входе в synchronized блок).
- WAITING - поток ожидает неопределенно долго (вызваны
wait(),join()илиpark()). - TIMED_WAITING - поток ожидает с таймаутом (
sleep(),wait(timeout),join(timeout)). - TERMINATED - поток завершил выполнение.
Пример проверки состояния:
java
Thread thread = new Thread(() -> {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
});
System.out.println(thread.getState()); // NEW
thread.start();
System.out.println(thread.getState()); // RUNNABLE или TIMED_WAITING
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы