Многопоточность trainee
Что отпускает wait, а что — sleep?
Ответ
wait() отпускает монитор объекта. sleep() — НЕ отпускает, поток продолжает держать все свои блокировки, просто не выполняется.
Разбор: wait() освобождает монитор объекта, на котором вызван (поэтому другой поток может войти в synchronized и сделать notify), а sleep() не отпускает никакие блокировки — поток просто простаивает, удерживая мониторы. Дистракторы путают поведение методов: меняют их местами или утверждают, что оба ведут себя одинаково.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.