Le mot clé volatile indique qu'un champ peut être modifié par plusieurs threads qui s'exécutent simultanément. Les champs qui sont déclarés volatile ne sont pas soumis aux optimisations du compilateur qui supposent l'accès par un seul thread. Cela garantit que la valeur la plus à jour est présente dans le champ à tout moment.
Le modificateur volatile est généralement utilisé pour un champ auquel accèdent plusieurs threads sans utiliser l'instruction lock, instruction (référence C#) pour sérialiser l'accès. Consultez Comment : créer et terminer des threads (guide de programmation C#) pour obtenir un exemple de volatile dans un scénario multithread.
Le mot clé volatile peut être appliqué aux types suivants :
-
Types référence.
-
Types pointeur (dans un contexte unsafe).
-
Types intégraux tels que sbyte, byte, short, ushort, int, uint, char, float et bool.
-
Type d'enum avec un type de base intégral.
-
Paramètres de type générique connus comme des types référence.
Le type en question doit être le champ d'une classe ou d'un struct. Les variables locales ne peuvent pas être déclarées volatile.
Spécification du langage C#Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.
-
3.10 Ordre d'exécution
-
10.4.3 Champs volatiles
Voir aussiRéférence
Mots clés C#Modificateurs (référence C#)
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ