Middle+
Para que é que serve a palavra-chave volatile na programação?
sobes.tech IA
Resposta da IA
volatile é utilizado para indicar ao compilador e ao processador que o valor de uma variável pode ser alterado por um thread de execução independente ou por um evento externo em relação à execução atual do processador (por exemplo, um dispositivo de entrada/saída).
Aplicações:
- Multithreading: Garante que cada vez que a variável é acedida, o seu valor é lido a partir da memória RAM e não de um registo do processador ou cache. Isto previne otimizações do compilador que poderiam resultar em valores desatualizados em ambientes multithread.
- Interação com hardware: É usado para variáveis que representam o estado de registos de hardware ou portas de entrada/saída, cujo valor pode mudar de forma imprevisível para o programa.
Em Swift e Objective-C, volatile é usado de forma semelhante a C/C++.
Exemplo de uso em C/Objective-C:
volatile int sharedFlag; // Variável partilhada, acessível a partir de diferentes threads