Sobes.tech
Junior — Middle

Dans quels cas est-il recommandé d'utiliser le mot-clé volatile en Java?

sobes.tech IA

Réponse de l'IA

Le mot-clé volatile en Java s'applique aux variables qui peuvent changer dans plusieurs threads simultanément. Il garantit que :

  • La lecture de la variable se fait toujours depuis la mémoire principale, et non depuis le cache du thread.
  • L'écriture dans la variable devient immédiatement visible pour les autres threads.

Il est recommandé d'utiliser volatile lorsque :

  • La variable est utilisée pour des drapeaux ou des états qui sont lus et écrits par différents threads.
  • Une synchronisation complète n'est pas nécessaire, mais une garantie de visibilité des changements est requise.

Exemple :

public class Flag {
    private volatile boolean active = false;

    public void activate() {
        active = true; // le changement sera visible immédiatement pour les autres threads
    }

    public boolean isActive() {
        return active; // toujours la valeur à jour
    }
}

Important : volatile ne garantit pas l'atomicité des opérations complexes, seulement la visibilité des changements.