Sobes.tech
Junior — Middle

In welchen Fällen wird empfohlen, das Schlüsselwort volatile in Java zu verwenden?

sobes.tech KI

Antwort von AI

Das Schlüsselwort volatile in Java wird für Variablen verwendet, die in mehreren Threads gleichzeitig geändert werden können. Es stellt sicher, dass:

  • Das Lesen der Variablen immer aus dem Hauptspeicher erfolgt, nicht aus dem Cache des Threads.
  • Das Schreiben in die Variable sofort für andere Threads sichtbar wird.

Es wird empfohlen, volatile zu verwenden, wenn:

  • Die Variable für Flags oder Zustände verwendet wird, die von verschiedenen Threads gelesen und geschrieben werden.
  • Keine vollständige Synchronisation erforderlich ist, aber die Sichtbarkeit von Änderungen garantiert werden muss.

Beispiel:

public class Flag {
    private volatile boolean active = false;

    public void activate() {
        active = true; // Änderung ist sofort für andere Threads sichtbar
    }

    public boolean isActive() {
        return active; // immer aktueller Wert
    }
}

Wichtig: volatile garantiert nicht die Atomarität komplexer Operationen, nur die Sichtbarkeit von Änderungen.