Sobes.tech
Назад к вопросам
Junior — Middle
61

Каким образом можно определить количество обработанных записей в основном потоке, учитывая работу нескольких потоков?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

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