Simple numeric wrappers to enforce atomic access.
go get -u github.com/uber-go/atomic
The standard library‘s sync/atomic
is powerful, but it’s easy to forget which variables must be accessed atomically. uber-go/atomic
preserves all the functionality of the standard library, but wraps the primitive numeric types to provide a safer, more convenient API.
var atom atomic.Uint32
atom.Store(42)
atom.Sub(2)
atom.CAS(40, 11)
See the documentation for a complete API specification.
Stable.