sync/atomic предоставляет атомарные загрузки, записи, обмены и CAS для поддерживаемых типов. Это инструмент для небольших общих состояний, а не замена всем блокировкам.
Что тебе известно про пакет sync/atomic?
sync/atomic предоставляет атомарные загрузки, записи, обмены и CAS для поддерживаемых типов. Это инструмент для небольших общих состояний, а не замена всем блокировкам.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
sync/atomic предоставляет атомарные загрузки, записи, обмены и CAS для поддерживаемых типов. Это инструмент для небольших общих состояний, а не замена всем блокировкам.
Например, atomic.Int64 подходит для счётчика. Операции атомиков в Go согласованы последовательно, но цепочка из нескольких операций не становится одной транзакцией. Нельзя смешивать конкурентные обычные и атомарные обращения к одному состоянию; для составного инварианта часто проще mutex.
Источник: pkg.go.dev.