Методы wait()
, notify()
, и notifyAll()
в классе Object
используются для межпоточной синхронизации.
wait()
: Останавливает текущий поток до тех пор, пока другой поток не вызоветnotify()
илиnotifyAll()
.notify()
: Пробуждает один из потоков, который вызвалwait()
на том же объекте.notifyAll()
: Пробуждает все потоки, ожидающие на этом объекте.
Обязательное условие:
Эти методы должны вызываться только внутри синхронизированного блока или метода, иначе будет выброшено исключение IllegalMonitorStateException
.