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.