Junior — Middle
V jakých případech se doporučuje používat klíčové slovo volatile v Javě?
sobes.tech AI
Odpověď od AI
Klíčové slovo volatile v jazyce Java se používá u proměnných, které mohou být současně měněny více vlákny. Zaručuje, že:
- Čtení proměnné bude vždy probíhat z hlavní paměti, nikoliv z cache vlákna.
- Zápis do proměnné se okamžitě stává viditelným pro ostatní vlákna.
Doporučuje se používat volatile, když:
- Proměnná slouží jako vlajky nebo stavy, které jsou čteny a zapisovány různými vlákny.
- Není potřeba úplná synchronizace, ale je třeba zajistit viditelnost změn.
Příklad:
public class Flag {
private volatile boolean active = false;
public void activate() {
active = true; // změna bude ihned viditelná ostatním vláknům
}
public boolean isActive() {
return active; // vždy aktuální hodnota
}
}
Důležité: volatile nezaručuje atomaritu složitých operací, pouze viditelnost změn.