Sobes.tech
Junior — Middle

Como pode determinar-se a quantidade de registos processados no thread principal, considerando o trabalho de múltiplos threads?

sobes.tech IA

Resposta da IA

Para determinar o número de registos processados no fluxo principal ao trabalhar com múltiplas threads em Java, deve-se usar mecanismos seguros para contagem.

Uma abordagem comum é usar a classe AtomicInteger do pacote java.util.concurrent.atomic. Cada thread, após processar um registo, incrementa este contador, e a thread principal pode obter o valor atual a qualquer momento.

Exemplo:

import java.util.concurrent.atomic.AtomicInteger;

public class Processor {
    private AtomicInteger processedCount = new AtomicInteger(0);

    public void processRecord() {
        // processamento do registo
        processedCount.incrementAndGet();
    }

    public int getProcessedCount() {
        return processedCount.get();
    }
}

Desta forma, a thread principal pode chamar getProcessedCount() para saber quantos registos foram processados por todas as threads juntas.