Sobes.tech
Senior

O que é AtomicInteger, para que é utilizado e quais são as suas vantagens?

sobes.tech IA

Resposta da IA

AtomicInteger é uma classe do pacote java.util.concurrent.atomic que fornece operações atômicas sobre um valor inteiro. É usada para modificar de forma segura valores numéricos em um ambiente multithread sem a necessidade de usar sincronização através de synchronized ou bloqueios.

A vantagem do AtomicInteger é que ele oferece alto desempenho e segurança no acesso concorrente, usando instruções atômicas de baixo nível do processador.

Exemplo de uso:

import java.util.concurrent.atomic.AtomicInteger;

public class Counter {
    private AtomicInteger count = new AtomicInteger(0);

    public void increment() {
        count.incrementAndGet(); // incremento atômico em 1
    }

    public int getCount() {
        return count.get();
    }
}

Neste exemplo, o método increment() é seguro para ser chamado de múltiplos threads ao mesmo tempo sem risco de condições de corrida.