Sobes.tech
Junior — Middle

Qual é a finalidade e aplicação das operações atômicas na programação?

sobes.tech IA

Resposta da IA

Operações atómicas em programação são operações que são executadas na totalidade ou não são executadas, sem estados intermédios visíveis por outros threads. São importantes para garantir o funcionamento correto em ambientes multithread, onde vários threads podem modificar dados partilhados simultaneamente.

A utilização de operações atómicas permite evitar condições de corrida e garante a consistência dos dados sem necessidade de usar bloqueios pesados.

Em Java, existem classes do pacote java.util.concurrent.atomic, por exemplo, AtomicInteger:

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();
    }
}

Aqui, o método incrementAndGet() garante que o incremento do contador seja feito de forma atómica, mesmo que vários threads o chamem simultaneamente.