Sobes.tech
Junior — Middle

Kādos gadījumos ieteicams izmantot atslēgvārdu volatile Java?

sobes.tech AI

Atbilde no AI

Java atslēgas vārds volatile tiek lietots mainīgajiem, kuri var tikt mainīti vairākos pavedienos vienlaikus. Tas garantē, ka:

  • Mainīgā lasīšana vienmēr notiks no galvenās atmiņas, ne no pavediena keša.
  • Ieraksts mainīgajā kļūst nekavējoties redzams citiem pavedieniem.

Ieteicams izmantot volatile, kad:

  • Mainīgais tiek izmantots kā karodziņi vai stāvokļi, kurus lasa un raksta dažādi pavedieni.
  • Nav nepieciešama pilnīga sinhronizācija, bet ir jānodrošina izmaiņu redzamība.

Piemērs:

public class Flag {
    private volatile boolean active = false;

    public void activate() {
        active = true; // izmaiņas nekavējoties būs redzamas citiem pavedieniem
    }

    public boolean isActive() {
        return active; // vienmēr aktuāla vērtība
    }
}

Svarīgi: volatile nesniedz atomaritāti sarežģītām operācijām, tikai nodrošina izmaiņu redzamību.