Documentation ¶
Index ¶
- type AtomicBitSet
- func (self *AtomicBitSet) CompareAndSet(index int, current, next bool) bool
- func (self *AtomicBitSet) CompareAndSetAll(current, next uint32) bool
- func (self *AtomicBitSet) IsSet(index int) bool
- func (self *AtomicBitSet) Load() uint32
- func (self *AtomicBitSet) Set(index int, val bool)
- func (self *AtomicBitSet) Store(val uint32)
- type AtomicBoolean
- type AtomicString
- type AtomicValue
- type CopyOnWriteMap
- type CopyOnWriteSlice
- type RefCount
- type Semaphore
- type WaitGroup
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AtomicBitSet ¶
type AtomicBitSet uint32
func (*AtomicBitSet) CompareAndSet ¶
func (self *AtomicBitSet) CompareAndSet(index int, current, next bool) bool
func (*AtomicBitSet) CompareAndSetAll ¶
func (self *AtomicBitSet) CompareAndSetAll(current, next uint32) bool
func (*AtomicBitSet) IsSet ¶
func (self *AtomicBitSet) IsSet(index int) bool
func (*AtomicBitSet) Load ¶
func (self *AtomicBitSet) Load() uint32
func (*AtomicBitSet) Set ¶
func (self *AtomicBitSet) Set(index int, val bool)
func (*AtomicBitSet) Store ¶
func (self *AtomicBitSet) Store(val uint32)
type AtomicBoolean ¶
type AtomicBoolean int32
func (*AtomicBoolean) CompareAndSwap ¶
func (ab *AtomicBoolean) CompareAndSwap(expected, val bool) bool
CompareAndSwap sets the given value only if the current value is equal to expected. return true if the swap was made
func (*AtomicBoolean) Get ¶
func (ab *AtomicBoolean) Get() bool
func (*AtomicBoolean) GetUnsafe ¶
func (ab *AtomicBoolean) GetUnsafe() bool
GetUnsafe returns the value if you are sure you are getting from the same thread as the last set This is only useful if you only set from one goroutine and are only using Get to sync access across other threads. GetUnsafe can then be used from the Set goroutine
func (*AtomicBoolean) Set ¶
func (ab *AtomicBoolean) Set(val bool)
func (*AtomicBoolean) WaitForState ¶
type AtomicString ¶
func (*AtomicString) Get ¶
func (ab *AtomicString) Get() string
func (*AtomicString) Set ¶
func (ab *AtomicString) Set(val string)
type AtomicValue ¶
func (*AtomicValue[T]) Load ¶
func (self *AtomicValue[T]) Load() T
func (*AtomicValue[T]) Store ¶
func (self *AtomicValue[T]) Store(val T)
type CopyOnWriteMap ¶
type CopyOnWriteMap[K comparable, V any] struct { // contains filtered or unexported fields }
func (*CopyOnWriteMap[K, V]) AsMap ¶
func (self *CopyOnWriteMap[K, V]) AsMap() map[K]V
func (*CopyOnWriteMap[K, V]) Clear ¶
func (self *CopyOnWriteMap[K, V]) Clear()
func (*CopyOnWriteMap[K, V]) Get ¶
func (self *CopyOnWriteMap[K, V]) Get(key K) V
func (*CopyOnWriteMap[K, V]) Put ¶
func (self *CopyOnWriteMap[K, V]) Put(key K, value V)
type CopyOnWriteSlice ¶
type CopyOnWriteSlice[T any] struct { // contains filtered or unexported fields }
func (*CopyOnWriteSlice[T]) Append ¶
func (self *CopyOnWriteSlice[T]) Append(toAdd T)
func (*CopyOnWriteSlice[T]) Delete ¶
func (self *CopyOnWriteSlice[T]) Delete(toRemove T)
func (*CopyOnWriteSlice[T]) Value ¶
func (self *CopyOnWriteSlice[T]) Value() []T
type Semaphore ¶
type Semaphore interface { Acquire() AcquireWithTimeout(t time.Duration) bool TryAcquire() bool Release() bool }
func NewSemaphore ¶
type WaitGroup ¶
type WaitGroup interface { // AddNotifier adds a notifier to the wait group AddNotifier(ch <-chan struct{}) // WaitForDone will wait for all notifiers to complete up to the given deadline. It will return false if the timeout // was reached, true otherwise WaitForDone(timeout time.Duration) bool }
WaitGroup provides a facility to wait for an arbitrarily size collection of notification channels to be completed
The methods are multi-thread safe, but notifiers added after WaitForDone has been called are not guaranteed to be waited for
func NewWaitGroup ¶
func NewWaitGroup() WaitGroup
Click to show internal directories.
Click to hide internal directories.