Junior — Middle
¿Qué se entiende por la palabra clave volatile en la programación Java?
sobes.tech AI
Respuesta de la IA
En Java, la palabra clave volatile se utiliza para indicar una variable cuyo valor puede ser modificado por varios hilos simultáneamente. Garantiza que la lectura y escritura de esta variable ocurran directamente desde la memoria principal, no desde la caché del procesador, lo que asegura la visibilidad de los cambios entre hilos.
Sin volatile, un hilo puede ver un valor obsoleto de la variable, ya que los cambios pueden permanecer en la caché local de otro hilo.
Ejemplo:
public class Counter {
private volatile int count = 0;
public void increment() {
count++; // operación no atómica, pero volatile garantiza la visibilidad
}
public int getCount() {
return count;
}
}
Importante: volatile no garantiza la atomicidad de las operaciones, por lo que para cambios complejos es mejor usar sincronización o clases atómicas de java.util.concurrent.atomic.