Sobes.tech
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.