❓ Что такое Compare-And-Swap (CAS)?
CAS — это атомарная операция, лежащая в основе многих lock-free алгоритмов. Она позволяет синхронизировать доступ к общим данным без блокировок.
Принцип прост: операция обновляет значение переменной только в том случае, если её текущее значение совпадает с ожидаемым. Если за это время значение успел изменить другой поток — обновление не произойдёт, и вы об этом узнаете.
Схематично CAS работает с тремя аргументами:
• адрес переменной,
• ожидаемое значение,
• новое значение.
Если текущее значение равно ожидаемому — оно заменяется на новое. Иначе операция сообщает о неудаче, и поток может повторить попытку.
🐸 Библиотека Go для собеса
Post #1459
1.49K
- 👍 3