Встречается на собеседованиях • сегодня
Как устроены атомарные переменные
Атомарные переменные (AtomicInteger, AtomicLong, AtomicBoolean и др.) обеспечивают потокобезопасные операции без явной синхронизации. Они работают через низкоуровневые механизмы процессора (CAS - Compare-And-Swap), что эффективнее блокировок.
Основные особенности:
- Операции
get(),set(),compareAndSet()выполняются атомарно - Используют
volatileдля обеспечения видимости изменений между потоками - Поддерживают атомарные операции типа
incrementAndGet(),addAndGet()
Пример:
java
AtomicInteger counter = new AtomicInteger(0);
// Потокобезопасный инкремент
int newValue = counter.incrementAndGet();
// CAS-операция
boolean updated = counter.compareAndSet(0, 1); // true, если текущее значение == 0Под капотом используется sun.misc.Unsafe или VarHandle (в новых версиях Java).

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