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

Что такое механизм CAS

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

Пример:

java
AtomicInteger counter = new AtomicInteger(0);
int expectedValue = 0;
int newValue = 1;
boolean success = counter.compareAndSet(expectedValue, newValue); // true, если значение было 0

Преимущества:

  • Отсутствие блокировок (меньше накладных расходов)
  • Подходит для высоконагруженных систем

Недостатки:

  • Может привести к "гонке" (потоки повторяют операцию при неудаче)
  • Сложность реализации сложных операций

Используется в ConcurrentHashMap, ReentrantLock и других concurrent-структурах.

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

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

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

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