• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H01-May-2019-

scripts/H01-May-2019-

.codecov.ymlH A D01-May-2019763

.gitignoreH A D01-May-201990

.travis.ymlH A D01-May-2019421

MakefileH A D01-May-20191 KiB

README.mdH A D01-May-20191.2 KiB

atomic.goH A D01-May-20199.2 KiB

atomic_test.goH A D01-May-20196.6 KiB

error.goH A D01-May-20191.9 KiB

error_test.goH A D01-May-20191.9 KiB

example_test.goH A D01-May-20191.4 KiB

glide.lockH A D01-May-2019494

glide.yamlH A D01-May-2019117

stress_test.goH A D01-May-20195.5 KiB

string.goH A D01-May-20191.7 KiB

string_test.goH A D01-May-20191.6 KiB

README.md

1# atomic [![GoDoc][doc-img]][doc] [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov] [![Go Report Card][reportcard-img]][reportcard]
2
3Simple wrappers for primitive types to enforce atomic access.
4
5## Installation
6`go get -u go.uber.org/atomic`
7
8## Usage
9The standard library's `sync/atomic` is powerful, but it's easy to forget which
10variables must be accessed atomically. `go.uber.org/atomic` preserves all the
11functionality of the standard library, but wraps the primitive types to
12provide a safer, more convenient API.
13
14```go
15var atom atomic.Uint32
16atom.Store(42)
17atom.Sub(2)
18atom.CAS(40, 11)
19```
20
21See the [documentation][doc] for a complete API specification.
22
23## Development Status
24Stable.
25
26___
27Released under the [MIT License](LICENSE.txt).
28
29[doc-img]: https://godoc.org/github.com/uber-go/atomic?status.svg
30[doc]: https://godoc.org/go.uber.org/atomic
31[ci-img]: https://travis-ci.com/uber-go/atomic.svg?branch=master
32[ci]: https://travis-ci.com/uber-go/atomic
33[cov-img]: https://codecov.io/gh/uber-go/atomic/branch/master/graph/badge.svg
34[cov]: https://codecov.io/gh/uber-go/atomic
35[reportcard-img]: https://goreportcard.com/badge/go.uber.org/atomic
36[reportcard]: https://goreportcard.com/report/go.uber.org/atomic
37