Sobes.tech
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(), чтобы узнать, сколько записей было обработано всеми потоками вместе.