Documentation
¶
Overview ¶
Package atomics provides types that can be concurrently accessed and modified, without caller code needing to implement locking.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bool ¶
type Bool struct {
// contains filtered or unexported fields
}
Bool is an atomic boolean, no need for locking which makes the code faster and simpler.
This interface is really just to abstract away the 0 or 1 value of an int32 modified using the sync/atomic package. Hopefully the go compiler will inline these methods so they'll be super fast.
func NewBool ¶
NewBool returns an atomics.Bool initialized with value.
Note it is perfectly safe to just declare an atomics.Bool; it defaults to false just like a normal boolean would do.
type Once ¶
type Once struct {
// contains filtered or unexported fields
}
Once is similar to sync.Done except that once.Do() returns true, if this was the first call to once.Do(). Additionally a method once.Wait() have been added for anyone waiting for this once.Do() to have been called.
Also once.Do(nil) will not panic, but act similar to once.Do(func(){}).