Монитор обеспечивает взаимное исключение и ожидание/уведомление для объекта в Java. Состояния Thread: NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING и TERMINATED.
Что такое монитор и какие бывают состояния потока в Java?
Монитор обеспечивает взаимное исключение и ожидание/уведомление для объекта в Java. Состояния Thread: NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING и TERMINATED.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Монитор обеспечивает взаимное исключение и ожидание/уведомление для объекта в Java. Состояния Thread: NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING и TERMINATED.
synchronized захватывает монитор; Object.wait требует владения им и временно освобождает его. notify не передаёт lock немедленно: разбуженный поток должен снова его получить. BLOCKED относится к входу в монитор, а ожидание Condition или park обычно выглядит иначе. Состояния JVM не следует один к одному приравнивать к состояниям ОС.