Back to questions
СБЕР
Junior — Middle
61
Какие основные методы класса Object используются для работы с потоками и синхронизацией?
Companies where asked
Answer from AI
sobes.tech AI
В Java класс Object предоставляет несколько методов, которые часто используются при работе с потоками и синхронизацией:
-
wait()— заставляет текущий поток ждать, пока другой поток не вызоветnotify()илиnotifyAll()на том же объекте. Используется для организации ожидания определённого состояния. -
notify()— пробуждает один поток, который ожидает на данном объекте. -
notifyAll()— пробуждает все потоки, ожидающие на данном объекте.
Эти методы должны вызываться внутри синхронизированного блока или метода, иначе будет выброшено IllegalMonitorStateException.
Пример использования:
synchronized (sharedObject) {
while (!condition) {
sharedObject.wait();
}
// Действия после наступления условия
}
// В другом потоке
synchronized (sharedObject) {
// Изменение состояния
sharedObject.notify();
}