Встречается на собеседованиях • сегодня
Как посчитать записи обработанные несколькими потоками
Для подсчёта записей, обработанных несколькими потоками, можно использовать AtomicInteger или синхронизированные методы.
Пример с AtomicInteger:
java
AtomicInteger counter = new AtomicInteger(0);
Runnable task = () -> {
// Обработка записи
counter.incrementAndGet();
};
ExecutorService executor = Executors.newFixedThreadPool(4);
for (int i = 0; i < 100; i++) {
executor.submit(task);
}
executor.shutdown();
executor.awaitTermination(1, TimeUnit.MINUTES);
System.out.println("Обработано записей: " + counter.get());
text
**Вариант с synchronized:**
```java
int count = 0;
synchronized void increment() {
count++;
}
Runnable task = () -> {
increment();
};AtomicInteger предпочтительнее, так как он работает быстрее за счёт CAS (Compare-And-Swap).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы