Что такое CAS (Compare-And-Swap)?

Ответ

Атомарная операция: если текущее значение равно ожидаемому, записать новое и вернуть true; иначе не менять и вернуть false. В Go: atomic.CompareAndSwapInt32, CompareAndSwapInt64 и т.д. Основа для lock-free алгоритмов и спинлоков.

for !atomic.CompareAndSwapInt64(&n, old, new) { old = atomic.LoadInt64(&n) }
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.