Junior — Middle
O que significa a palavra-chave volatile na programação Java?
sobes.tech IA
Resposta da IA
Em Java, a palavra-chave volatile é usada para indicar uma variável cujo valor pode ser alterado por vários threads simultaneamente. Ela garante que a leitura e escrita dessa variável ocorram diretamente na memória principal, e não no cache do processador, garantindo a visibilidade das mudanças entre threads.
Sem volatile, um thread pode ver um valor desatualizado da variável, pois as alterações podem permanecer no cache local de outro thread.
Exemplo:
public class Counter {
private volatile int count = 0;
public void increment() {
count++; // operação não atômica, mas volatile garante a visibilidade
}
public int getCount() {
return count;
}
}
Importante: volatile não garante a atomicidade das operações, portanto, para mudanças complexas, é melhor usar sincronização ou classes atômicas de java.util.concurrent.atomic.