Junior — Middle
Wie kann man die Anzahl der verarbeiteten Datensätze im Haupt-Thread bestimmen, unter Berücksichtigung der Arbeit mehrerer Threads?
sobes.tech KI
Antwort von AI
Чтобы определить количество обработанных записей в основном потоке при работе с несколькими потоками в Java, нужно использовать потокобезопасные механизмы для подсчёта.
Один из распространённых подходов — использовать класс AtomicInteger из пакета java.util.concurrent.atomic. Каждый поток после обработки записи увеличивает этот счётчик, а основной поток может в любой момент получить текущее значение.
Пример:
import java.util.concurrent.atomic.AtomicInteger;
public class Processor {
private AtomicInteger processedCount = new AtomicInteger(0);
public void processRecord() {
// обработка записи
processedCount.incrementAndGet();
}
public int getProcessedCount() {
return processedCount.get();
}
}
Таким образом, основной поток может вызывать getProcessedCount(), чтобы узнать, сколько записей было обработано всеми потоками вместе.