mirror of https://github.com/sunface/rust-course
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
6 years ago | |
|---|---|---|
| .. | ||
| .codecov.yml | 6 years ago | |
| .gitignore | 6 years ago | |
| .travis.yml | 6 years ago | |
| CHANGELOG.md | 6 years ago | |
| LICENSE.txt | 6 years ago | |
| Makefile | 6 years ago | |
| README.md | 6 years ago | |
| atomic.go | 6 years ago | |
| error.go | 6 years ago | |
| go.mod | 6 years ago | |
| go.sum | 6 years ago | |
| string.go | 6 years ago | |
| tools.go | 6 years ago | |
README.md
atomic

Simple wrappers for primitive types to enforce atomic access.
Installation
$ 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
Usage
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.
Development Status
Stable.
Released under the MIT License.