Junior — Middle
Qual è il ruolo dell'operatore wait e a quali scopi viene utilizzato nella programmazione o nei sistemi?
sobes.tech AI
Risposta dell'AI
L'operazione wait() in programmazione Java viene utilizzata per organizzare l'interazione tra thread. Essa fa sì che il thread corrente si sospenda e rilasci il monitor dell'oggetto su cui è stato chiamato wait(), fino a quando un altro thread non invocherà notify() o notifyAll() sullo stesso oggetto.
Questo è importante per implementare una sincronizzazione corretta e attendere determinate condizioni senza polling attivo (busy waiting).
Esempio di utilizzo:
synchronized (sharedObject) {
while (!condition) {
sharedObject.wait(); // il thread aspetta che condition diventi true
}
// esecuzione dopo il risveglio
}
In questo modo, wait() aiuta a gestire efficacemente i thread, permettendo a uno di aspettare un evento che si verificherà in un altro.