Sobes.tech
Middle+

À quoi sert le mot-clé volatile en programmation?

sobes.tech IA

Réponse de l'IA

volatile est utilisé pour indiquer au compilateur et au processeur que la valeur d'une variable peut être modifiée par un thread d'exécution indépendant ou par un événement externe par rapport à l'exécution actuelle du processeur (par exemple, un périphérique d'entrée/sortie).

Applications:

  1. Multithreading: Garantit que chaque fois que la variable est accédée, sa valeur est lue depuis la mémoire vive et non depuis un registre du processeur ou un cache. Cela empêche les optimisations du compilateur qui pourraient conduire à des valeurs obsolètes dans un environnement multithread.
  2. Interaction avec le matériel: Utilisé pour les variables qui reflètent l'état des registres matériels ou des ports d'entrée/sortie, dont la valeur peut changer de manière imprévisible pour le programme.

En Swift et Objective-C, volatile est utilisé de manière similaire à C/C++.

Exemple d'utilisation en C/Objective-C:

volatile int sharedFlag; // Variable partagée, accessible depuis différents threads