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

Как устроен AtomicInteger

AtomicInteger использует комбинацию volatile переменной и атомарных операций через Unsafe для обеспечения потокобезопасности без блокировок. Внутри хранит значение в volatile int, что гарантирует видимость изменений между потоками.

Основные операции:

  • get()/set() - обычные чтение/запись volatile переменной
  • compareAndSet() - атомарное сравнение и установка (CAS)
  • incrementAndGet() - атомарный инкремент через CAS-цикл

Пример:

java
AtomicInteger counter = new AtomicInteger(0);
counter.incrementAndGet(); // потокобезопасный инкремент

При коллизиях CAS операция повторяется до успеха. Это делает AtomicInteger эффективнее synchronized при низкой конкуренции, но менее эффективным при высокой.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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