Что такое монитор и какие бывают состояния потока в Java?

Монитор обеспечивает взаимное исключение и ожидание/уведомление для объекта в Java. Состояния Thread: NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING и TERMINATED.

Короткий ответ

Что ответить на собеседовании

Монитор обеспечивает взаимное исключение и ожидание/уведомление для объекта в 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 не следует один к одному приравнивать к состояниям ОС.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее