Documentation
¶
Overview ¶
Package atomicbitops provides extensions to the sync/atomic package.
All read-modify-write operations implemented by this package have acquire-release memory ordering (like sync/atomic).
Index ¶
- func AndUint32(addr *uint32, val uint32)
- func AndUint64(addr *uint64, val uint64)
- func CompareAndSwapUint32(addr *uint32, old, new uint32) uint32
- func CompareAndSwapUint64(addr *uint64, old, new uint64) uint64
- func OrUint32(addr *uint32, val uint32)
- func OrUint64(addr *uint64, val uint64)
- func XorUint32(addr *uint32, val uint32)
- func XorUint64(addr *uint64, val uint64)
- type AlignedAtomicInt64
- type AlignedAtomicUint64
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CompareAndSwapUint32 ¶
CompareAndSwapUint32 is like sync/atomic.CompareAndSwapUint32, but returns the value previously stored at addr.
func CompareAndSwapUint64 ¶
CompareAndSwapUint64 is like sync/atomic.CompareAndSwapUint64, but returns the value previously stored at addr.
Types ¶
type AlignedAtomicInt64 ¶
type AlignedAtomicInt64 struct {
// contains filtered or unexported fields
}
AlignedAtomicInt64 is an atomic int64 that is guaranteed to be 64-bit aligned, even on 32-bit systems. On most architectures, it's just a regular int64.
See aligned_unsafe.go in this directory for justification.
+stateify savable
func (*AlignedAtomicInt64) Add ¶
func (aa *AlignedAtomicInt64) Add(v int64) int64
Add is analagous to atomic.AddInt64.
func (*AlignedAtomicInt64) Load ¶
func (aa *AlignedAtomicInt64) Load() int64
Load is analagous to atomic.LoadInt64.
func (*AlignedAtomicInt64) Store ¶
func (aa *AlignedAtomicInt64) Store(v int64)
Store is analagous to atomic.StoreInt64.
type AlignedAtomicUint64 ¶
type AlignedAtomicUint64 struct {
// contains filtered or unexported fields
}
AlignedAtomicUint64 is an atomic uint64 that is guaranteed to be 64-bit aligned, even on 32-bit systems. On most architectures, it's just a regular uint64.
See aligned_unsafe.go in this directory for justification.
+stateify savable
func (*AlignedAtomicUint64) Add ¶
func (aa *AlignedAtomicUint64) Add(v uint64) uint64
Add is analagous to atomic.AddUint64.
func (*AlignedAtomicUint64) Load ¶
func (aa *AlignedAtomicUint64) Load() uint64
Load is analagous to atomic.LoadUint64.
func (*AlignedAtomicUint64) Store ¶
func (aa *AlignedAtomicUint64) Store(v uint64)
Store is analagous to atomic.StoreUint64.