Accueil Développement Qu'est-ce qui est volatile? - définition de techopedia

Qu'est-ce qui est volatile? - définition de techopedia

Table des matières:

Anonim

Définition - Que signifie volatile?

Volatile est un mot clé dans le langage de programmation java qui spécifie qu'une variable membre associée à une classe peut être modifiée de manière asynchrone par plusieurs threads. Le mot clé volatile dans le code agit comme modificateur lorsqu'un membre est déclaré. Les mots clés sont des mots fondamentalement réservés ayant une signification distincte dans le contexte d'un compilateur.

Le mot-clé volatile est utilisé chaque fois que la variable signifie une sorte de variable qui dépend de l'environnement ou du système, comme des compteurs et des horloges simples.

Techopedia explique Volatile

Le mot-clé volatile garantit que chaque accès en lecture à une variable membre en renvoie la valeur la plus récente. Cela n'est pas efficace lorsque les modifications récentes sont effectuées à l'aide d'un thread différent. Si une variable membre n'est pas déclarée volatile, un thread ne pourra pas reconnaître les modifications qui lui ont été apportées à l'aide d'un thread différent.

Pour un membre double ou long, le mot clé volatile garantit également que la machine virtuelle ne générera pas deux écritures 32 bits successives, mais créera à la place une seule écriture 64 bits. Si cela n'est pas possible, la mise en œuvre de la JVM continue de garantir l'atomicité de cette fonction afin que l'ancienne moitié inférieure ne soit pas lue avec la nouvelle moitié supérieure de certains doubles ou longs volatils.

Volatile écrit et lit la configuration d'une relation qui se produit avant. Avant d'accéder à un objet volatil, une synchronisation se produit entre la mémoire principale et les variables mises en cache, tout comme elle se produit avant d'entrer ou après avoir quitté un bloc synchronisé. Cela implique qu'un objet volatil peut être publié en toute sécurité sans synchronisation; c'est-à-dire, lorsqu'un objet volatile est accessible par un thread, les membres de cet objet sont également mis à jour.

Lorsqu'une variable est décrite comme volatile, le compilateur JVM et Java effectue les deux opérations suivantes.

  1. Le compilateur ne parvient pas à maximiser les instructions et les expressions liées à cette variable.
  2. JVM synchronise la variable.

Les avantages de volatile sont les suivants:

  • C'est léger
  • Il provoque une très faible surcharge de lecture et d'écriture, mais est toujours plus rapide que le verrouillage.
  • Volatile est résistant aux serrures mortes.
Qu'est-ce qui est volatile? - définition de techopedia