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

Что такое Compare-and-swap

Compare-and-swap (CAS) — это атомарная операция, используемая в многопоточном программировании для безопасного обновления переменных. Она сравнивает текущее значение переменной с ожидаемым и, если они совпадают, устанавливает новое значение. Если нет — операция завершается неудачей.

Пример в Java:

java
AtomicInteger atomicInt = new AtomicInteger(5);
boolean success = atomicInt.compareAndSet(5, 10); // true, если текущее значение == 5

Особенности:

  • Избегает блокировок (lock-free)
  • Может привести к "гонке" (неудачные попытки)
  • Поддерживается на уровне процессора (например, инструкция CMPXCHG в x86)
  • Используется в java.util.concurrent (Atomic-классы, ConcurrentHashMap и др.)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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