jason 075d766964 first | %!s(int64=3) %!d(string=hai) anos | |
---|---|---|
.. | ||
.github | %!s(int64=3) %!d(string=hai) anos | |
.codecov.yml | %!s(int64=3) %!d(string=hai) anos | |
.gitignore | %!s(int64=3) %!d(string=hai) anos | |
.travis.yml | %!s(int64=3) %!d(string=hai) anos | |
CHANGELOG.md | %!s(int64=3) %!d(string=hai) anos | |
LICENSE.txt | %!s(int64=3) %!d(string=hai) anos | |
Makefile | %!s(int64=3) %!d(string=hai) anos | |
README.md | %!s(int64=3) %!d(string=hai) anos | |
atomic.go | %!s(int64=3) %!d(string=hai) anos | |
atomic_test.go | %!s(int64=3) %!d(string=hai) anos | |
error.go | %!s(int64=3) %!d(string=hai) anos | |
error_test.go | %!s(int64=3) %!d(string=hai) anos | |
example_test.go | %!s(int64=3) %!d(string=hai) anos | |
go.mod | %!s(int64=3) %!d(string=hai) anos | |
go.sum | %!s(int64=3) %!d(string=hai) anos | |
stress_test.go | %!s(int64=3) %!d(string=hai) anos | |
string.go | %!s(int64=3) %!d(string=hai) anos | |
string_test.go | %!s(int64=3) %!d(string=hai) anos | |
tools.go | %!s(int64=3) %!d(string=hai) anos |
Simple wrappers for primitive types to enforce atomic access.
$ go get -u go.uber.org/atomic@v1
Note: If you are using Go modules, this package will fail to compile with the
import path github.com/uber-go/atomic
. To continue using that import path,
you will have to add a replace
directive to your go.mod
, replacing
github.com/uber-go/atomic
with go.uber.org/atomic
.
$ go mod edit -replace github.com/uber-go/atomic=go.uber.org/atomic@v1
The standard library's sync/atomic
is powerful, but it's easy to forget which
variables must be accessed atomically. go.uber.org/atomic
preserves all the
functionality of the standard library, but wraps the primitive 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.
Released under the MIT License.