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