Встречается на собеседованиях • сегодня
Чем будешь пользоваться при реализации потокобезопасного счетчика
Для потокобезопасного счетчика в Java можно использовать:
- AtomicInteger – наиболее простой и эффективный вариант для атомарных операций:
java
AtomicInteger counter = new AtomicInteger(0);
counter.incrementAndGet(); // потокобезопасное увеличение- synchronized блок или метод, если нужна более сложная логика:
java
private int count = 0;
public synchronized void increment() {
count++;
}- ReentrantLock для гибкого управления блокировками:
java
private final Lock lock = new ReentrantLock();
private int count = 0;
public void increment() {
lock.lock();
try {
count++;
} finally {
lock.unlock();
}
}Выбор зависит от сценария:
- AtomicInteger – для простых атомарных операций (максимальная производительность).
- synchronized – если логика сложнее (например, проверка условия перед инкрементом).
- ReentrantLock – когда нужны tryLock(), fairness или другие продвинутые фичи.
Для большинства случаев счетчика хватит AtomicInteger.

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