Встречается на собеседованиях • сегодня
Как реализовать счетчик для многопоточной среды
Для многопоточной среды используйте AtomicInteger или AtomicLong из пакета java.util.concurrent.atomic. Они обеспечивают атомарные операции без явной синхронизации.
java
import java.util.concurrent.atomic.AtomicInteger;
public class Counter {
private final AtomicInteger count = new AtomicInteger(0);
text
public void increment() {
count.incrementAndGet();
}
public int getCount() {
return count.get();
}}
text
**Альтернативы:**
1. `synchronized` блок/метод (медленнее из-за блокировок)
2. `LongAdder` (лучше при высокой конкуренции, но потребляет больше памяти)
**Почему Atomic?**
Использует CAS (Compare-And-Swap) на уровне процессора, что эффективнее блокировок.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы