Карточка Junior sync и атомики обновлено

Типизированные атомики

Вопрос

Какие типы есть в sync/atomic начиная с Go 1.19?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

atomic.Int32, Int64, Uint32, Uint64, Uintptr, Bool, Value, Pointer[T] с методами Load, Store, Add, Swap, CompareAndSwap.

Ответ

atomic.Int32, Int64, Uint32, Uint64, Uintptr, Bool, Value, Pointer[T] с методами Load, Store, Add, Swap, CompareAndSwap.

Разбор

Их нельзя случайно прочитать неатомарно, и Int64 автоматически выравнивается даже на 32-битных платформах. В Go 1.23 добавились методы And и Or.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.