Junior — Middle
Quali sono i metodi principali della classe Object utilizzati per lavorare con i flussi e la sincronizzazione?
sobes.tech AI
Risposta dell'AI
In Java, la classe Object fornisce diversi metodi comunemente usati quando si lavora con thread e sincronizzazione:
-
wait()— fa sì che il thread corrente aspetti finché un altro thread non chiamanotify()onotifyAll()sullo stesso oggetto. Viene usato per organizzare l'attesa di uno stato specifico. -
notify()— risveglia un singolo thread che sta aspettando su quell'oggetto. -
notifyAll()— risveglia tutti i thread in attesa su quell'oggetto.
Questi metodi devono essere chiamati all'interno di un blocco o metodo sincronizzato, altrimenti verrà sollevata un'eccezione IllegalMonitorStateException.
Esempio di utilizzo:
synchronized (sharedObject) {
while (!condition) {
sharedObject.wait();
}
// Azioni dopo che la condizione è stata soddisfatta
}
// In un altro thread
synchronized (sharedObject) {
// Modifica dello stato
sharedObject.notify();
}