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.