Junior — Middle
In quali casi è consigliato usare la parola chiave volatile in Java?
sobes.tech AI
Risposta dell'AI
La parola chiave volatile in Java si applica alle variabili che possono essere modificate da più thread contemporaneamente. Garantisce che:
- La lettura della variabile avvenga sempre dalla memoria principale, non dalla cache del thread.
- La scrittura sulla variabile diventa immediatamente visibile agli altri thread.
Si consiglia di usare volatile quando:
- La variabile viene utilizzata per flag o stati che vengono letti e scritti da thread diversi.
- Non è necessaria una sincronizzazione completa, ma si desidera garantire la visibilità delle modifiche.
Esempio:
public class Flag {
private volatile boolean active = false;
public void activate() {
active = true; // la modifica sarà visibile immediatamente agli altri thread
}
public boolean isActive() {
return active; // sempre valore aggiornato
}
}
Importante: volatile non garantisce l'atomicità di operazioni complesse, ma solo la visibilità delle modifiche.