Ответ
wait() — метод класса Object, который приостанавливает текущий поток до тех пор, пока другой поток не вызовет notify() или notifyAll() для этого же объекта. Используется в связке с synchronized для межпоточного взаимодействия.
Пример:
synchronized (lock) {
while (!condition) {
lock.wait(); // Освобождает монитор и ждёт
}
// Действия после пробуждения
}
Нюансы:
- Всегда вызывается внутри
synchronizedблока. - Может выбросить
InterruptedException. - Лучше оборачивать проверку условия в цикл (spurious wakeups).