Back to questions
СБЕР
Junior — Middle
62
Каким образом можно определить количество обработанных записей в основном потоке, учитывая работу нескольких потоков?
Companies where asked
Answer from AI
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(), чтобы узнать, сколько записей было обработано всеми потоками вместе.