Hogar Desarrollo ¿Qué es volátil? - definición de techopedia

¿Qué es volátil? - definición de techopedia

Tabla de contenido:

Anonim

Definición - ¿Qué significa volátil?

Volátil es una palabra clave dentro del lenguaje de programación java que especifica que una variable miembro asociada con una clase puede ser alterada de forma asíncrona por múltiples hilos. La palabra clave volátil en el código actúa como un modificador cuando se declara un miembro. Las palabras clave son palabras fundamentalmente reservadas con un significado distinto en el contexto de un compilador.

La palabra clave volátil se usa siempre que la variable significa algún tipo de variable que depende del entorno o sistema, como contadores y relojes simples.

Techopedia explica volátil

La palabra clave volátil garantiza que cada acceso de lectura a una variable miembro devuelva el valor más reciente de la misma. Esto no es efectivo cuando los cambios recientes se realizan utilizando un hilo diferente. Si una variable miembro no se declara como volátil, un subproceso no podrá reconocer las modificaciones realizadas con un subproceso diferente.

Para un miembro doble o largo, la palabra clave volátil también asegura que la máquina virtual no generará dos escrituras sucesivas de 32 bits, sino que solo creará una escritura de 64 bits. Si esto no es factible, la implementación de JVM continúa garantizando la atomicidad de esta función para que la mitad inferior anterior no se lea con la nueva mitad superior de algún doble o largo volátil.

Las escrituras y las lecturas volátiles establecen una relación que ocurre antes. Antes de acceder a un objeto volátil, se produce una sincronización entre la memoria principal y las variables almacenadas en caché, tal como ocurre antes de ingresar o después de salir de un bloque sincronizado. Esto implica que un objeto volátil se puede publicar de forma segura sin sincronización; es decir, cuando un hilo accede a un objeto volátil, los miembros de ese objeto también se actualizan.

Cuando una variable se describe como volátil, JVM y el compilador de Java realizan las siguientes dos cosas.

  1. El compilador no puede maximizar las declaraciones y expresiones relacionadas con esa variable.
  2. JVM sincroniza la variable.

Las ventajas de los volátiles son las siguientes:

  • Es ligero
  • Causa una sobrecarga muy pequeña para las lecturas y escrituras, pero sigue siendo más rápido que el bloqueo.
  • Volátil es resistente a cerraduras muertas.
¿Qué es volátil? - definición de techopedia