Автор рассказывает про атомарные операции в Go как более производительная альтернатива мьютексам для lock-free программирования.
В статье объясняется аппаратная основа атомарных операций - инструкции CPU уровня LOCK XADD. Автор показывает как работать с типизированным API, появившемся в Go 1.19, те самые atomic.Int64, atomic.Pointer[T] и тд, и предупреждает о ловушке atomic.Value, который фиксирует тип при первом сохранении.
На практических примерах показаны CAS-циклы для рейт лимитинга и атомарная замена конфигурации на лету без блокировок.
В целом, мьютексы стоит использовать при работе с несколькими взаимозависимыми переменными, а атомарные операции - для изолированных значений
27.04.2026
Похожее
24.04.2026
eBPF в GitHub
Ребята из GitHub рассказали как они используют eBPF. С помощью eBPF они перех...
23.04.2026
Soppo
Какая-то неожиданная волна новых языков, похожих на Go, только с блэкджеком и гу...
23.04.2026
Только свои ошибки
В многослойном Go-сервисе легко случайно пропустить наверх ошибки хранения данны...
22.04.2026
Паттерн репозиторий
Да да, банально, но всегда интересно смотреть кто как реализует разные паттерны ...