Junior — Middle
Millistel juhtudel on soovitatav kasutada võtmesõna volatile Java-s?
sobes.tech AI
Vastus AI-lt
Java-s volatile märksõna rakstīts mainīgajiem, kurus var mainīt vairākas pavedienu vienlaikus. Tas garantē, ka:
- Mainija lasīšana alati toimub peamises mälus, mitte niidi vahemälus.
- Kirjutamine muutujasse muutub kohe nähtavaks teistele niitidele.
Soovitatav on kasutada volatile, kui:
- Muutuja kasutatakse lippude või olekute jaoks, mida loevad ja kirjutavad erinevad niidid.
- Täielik sünkroniseerimine ei ole vajalik, kuid muutuste nähtavus peab olema garanteeritud.
Näide:
public class Flag {
private volatile boolean active = false;
public void activate() {
active = true; // muudatus on kohe nähtav teistele niitidele
}
public boolean isActive() {
return active; // alati ajakohane väärtus
}
}
Oluline: volatile ei taga keerukate operatsioonide atomilisust, vaid ainult muutuste nähtavust.