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

Что такое CAS

CAS (Compare-And-Swap) — атомарная операция, используемая в многопоточных программах для безопасного изменения значения переменной. Она сравнивает текущее значение с ожидаемым и, если они совпадают, заменяет его на новое. В Java реализована через класс Atomic* (например, AtomicInteger).

Пример:

java
AtomicInteger counter = new AtomicInteger(0);

boolean updated = counter.compareAndSet(0, 1); // true, если текущее значение == 0

Плюсы:

  • Не требует блокировок (lock-free)
  • Высокая производительность при низкой конкуренции

Минусы:

  • Может привести к busy-waiting (циклу повторных попыток)
  • Проблема ABA (значение меняется и возвращается обратно, но CAS всё равно срабатывает)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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