Sobes.tech
Junior — Middle

В кои случаи се препоръчва използването на ключовата дума volatile в Java?

sobes.tech AI

Отговор от AI

Ключовата дума volatile в Java се използва за променливи, които могат да се променят едновременно от няколко нишки. Тя гарантира, че:

  • Четенето на променливата винаги ще се извършва от основната памет, а не от кеша на нишката.
  • Записът в променливата става незабавно видим за другите нишки.

Препоръчва се използването на volatile, когато:

  • Променливата се използва за флагове или състояния, които се четат и пишат от различни нишки.
  • Не е необходима пълна синхронизация, но трябва да се гарантира видимостта на промените.

Пример:

public class Flag {
    private volatile boolean active = false;

    public void activate() {
        active = true; // промяната ще бъде видима веднага за другите нишки
    }

    public boolean isActive() {
        return active; // винаги актуална стойност
    }
}

Важно: volatile не гарантира атомарността на сложни операции, а само видимостта на промените.