Junior — Middle
Em que casos é recomendado usar a palavra-chave volatile em Java?
sobes.tech IA
Resposta da IA
A palavra-chave volatile em Java aplica-se a variáveis que podem ser alteradas por múltiplas threads simultaneamente. Ela garante que:
- A leitura da variável será sempre feita a partir da memória principal, não do cache da thread.
- A escrita na variável torna-se imediatamente visível para outras threads.
Recomenda-se usar volatile quando:
- A variável é usada para flags ou estados que são lidos e escritos por diferentes threads.
- Não é necessária uma sincronização completa, mas é preciso garantir a visibilidade das alterações.
Exemplo:
public class Flag {
private volatile boolean active = false;
public void activate() {
active = true; // a alteração será visível imediatamente para outras threads
}
public boolean isActive() {
return active; // valor sempre atualizado
}
}
Importante: volatile não garante a atomicidade de operações complexas, apenas a visibilidade das mudanças.