Sobes.tech
Junior — Middle

În ce cazuri este recomandat să folosiți cuvântul cheie volatile în Java?

sobes.tech AI

Răspuns de la AI

Cuvântul cheie volatile în Java se aplică variabilelor care pot fi modificate de mai multe fire de execuție simultan. Acesta garantează că:

  • Citirea variabilei se va face întotdeauna din memoria principală, nu din cache-ul firului.
  • Scrierea în variabilă devine vizibilă imediat pentru celelalte fire.

Se recomandă utilizarea volatile atunci când:

  • Variabila este folosită pentru steaguri sau stări care sunt citite și scrise de diferite fire.
  • Nu este necesară o sincronizare completă, dar trebuie garantată vizibilitatea modificărilor.

Exemplu:

public class Flag {
    private volatile boolean active = false;

    public void activate() {
        active = true; // modificarea va fi vizibilă imediat pentru celelalte fire
    }

    public boolean isActive() {
        return active; // întotdeauna valoare actualizată
    }
}

Important: volatile nu garantează atomaritatea operațiilor complexe, doar vizibilitatea modificărilor.