Sobes.tech
Junior — Middle

U kojim slučajevima se preporučuje korišćenje ključne reči volatile u Javi?

sobes.tech АИ

Одговор од АИ

Ključna riječ volatile u Javi primjenjuje se na varijable koje mogu istovremeno mijenjati više niti. Ona garantuje da:

  • Čitanje varijable će uvijek biti iz glavne memorije, a ne iz keša niti.
  • Pisanje u varijablu odmah postaje vidljivo drugim nitima.

Preporučuje se koristiti volatile kada:

  • Varijabla služi kao zastavice ili stanja koja se čitaju i pišu od strane različitih niti.
  • Nije potrebna potpuna sinhronizacija, ali je potrebna garancija vidljivosti promjena.

Primjer:

public class Flag {
    private volatile boolean active = false;

    public void activate() {
        active = true; // promjena će biti odmah vidljiva drugim nitima
    }

    public boolean isActive() {
        return active; // uvijek aktuelna vrijednost
    }
}

Važno: volatile ne osigurava atomarnost složenih operacija, već samo vidljivost promjena.