Встречается на собеседованиях • сегодня
В чем разница между методами sleep() и wait()
sleep() и wait() используются для управления потоками, но имеют ключевые различия:
- Класс и синхронизация
sleep()— методThread, не требует synchronized блока.wait()— методObject, требует synchronized блока/метода.
-
Освобождение монитора
sleep()не освобождает монитор.wait()освобождает монитор, позволяя другим потокам войти в synchronized блок.
-
Пробуждение
sleep()завершается после указанного времени или прерывания.wait()требует вызоваnotify()/notifyAll()или прерывания.
Пример:
java
synchronized (lock) {
lock.wait(1000); // Освобождает монитор, ждет notify() или таймаут
}
Thread.sleep(1000); // Просто приостанавливает поток
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы