Что отпускает wait, а что — sleep?

Ответ

wait() отпускает монитор объекта. sleep() — НЕ отпускает, поток продолжает держать все свои блокировки, просто не выполняется.

Разбор: wait() освобождает монитор объекта, на котором вызван (поэтому другой поток может войти в synchronized и сделать notify), а sleep() не отпускает никакие блокировки — поток просто простаивает, удерживая мониторы. Дистракторы путают поведение методов: меняют их местами или утверждают, что оба ведут себя одинаково.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться