Sobes.tech
Middle+

¿Para qué se utiliza la palabra clave volatile en programación?

sobes.tech AI

Respuesta de la IA

volatile se utiliza para indicar al compilador y al procesador que el valor de una variable puede ser modificado por un hilo de ejecución independiente o por un evento externo en relación con la ejecución actual del procesador (por ejemplo, un dispositivo de entrada/salida).

Aplicaciones:

  1. Multihilo: Garantiza que cada vez que se accede a la variable, su valor se lea desde la memoria RAM y no desde un registro del procesador o caché. Esto previene optimizaciones del compilador que podrían resultar en valores obsoletos en entornos multihilo.
  2. Interacción con hardware: Se usa para variables que representan el estado de registros de hardware o puertos de entrada/salida, cuyo valor puede cambiar de manera impredecible para el programa.

En Swift y Objective-C, volatile se usa de manera similar a C/C++.

Ejemplo de uso en C/Objective-C:

volatile int sharedFlag; // Variable compartida, accesible desde diferentes hilos