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