Встречается на собеседованиях • сегодня
Почему нельзя использовать синхронизацию для счетчика при большом количестве потоков
Синхронизация через synchronized блок или метод создает contention (конкуренцию) при большом количестве потоков — потоки блокируются, ожидая монитора, что резко снижает производительность.
Лучшие альтернативы:
- AtomicLong/AtomicInteger — используют CAS (Compare-And-Swap) без блокировок.
java
private AtomicLong counter = new AtomicLong(0); counter.incrementAndGet(); - LongAdder (Java 8+) — разделяет счетчик на ячейки, уменьшая contention.
java
private LongAdder adder = new LongAdder(); adder.increment();
Для высоконагруженных систем LongAdder работает быстрее, чем AtomicLong.

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