Встречается на собеседованиях • сегодня

Как реализовать счетчик для многопоточной среды

Для многопоточной среды используйте 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) на уровне процессора, что эффективнее блокировок.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы