Junior — Middle
V akých prípadoch sa odporúča použiť kľúčové slovo volatile v Jave?
sobes.tech AI
Odpoveď od AI
Kľúčové slovo volatile v Jave sa používa pre premenné, ktoré môžu byť súčasne menené viacerými vláknami. Zaručuje, že:
- Čítanie premennej bude vždy z hlavnej pamäte, nie z cache vlákna.
- Zápis do premennej sa okamžite stáva viditeľným pre ostatné vlákna.
Odporúča sa používať volatile, keď:
- Premenná slúži ako vlajky alebo stavy, ktoré sú čítané a zapisované rôznymi vláknami.
- Nie je potrebná úplná synchronizácia, ale je potrebné zabezpečiť viditeľnosť zmien.
Príklad:
public class Flag {
private volatile boolean active = false;
public void activate() {
active = true; // zmena bude ihneď viditeľná ostatným vláknam
}
public boolean isActive() {
return active; // vždy aktuálna hodnota
}
}
Dôležité: volatile nezaručuje atomickosť zložitých operácií, iba viditeľnosť zmien.