Expand description
Provides various synchronization alternatives to language primitives.
Currently missing from this module are the following items:
Condvar
WaitTimeoutResult
mpsc
Otherwise, this is a drop-in replacement for std::sync
.
Modules§
- atomic
- Provides various atomic alternatives to language primitives.
Structs§
- Arc
- A thread-safe reference-counting pointer. ‘Arc’ stands for ‘Atomically Reference Counted’.
- Barrier
- A barrier enables multiple threads to synchronize the beginning of some computation.
- Barrier
Wait Result - A
BarrierWaitResult
is returned byBarrier::wait()
when all threads in theBarrier
have rendezvoused. - Lazy
Lock - A value which is initialized on the first access.
- Mutex
- A mutual exclusion primitive useful for protecting shared data
- Mutex
Guard - An RAII implementation of a “scoped lock” of a mutex. When this structure is dropped (falls out of scope), the lock will be unlocked.
- Once
- A low-level synchronization primitive for one-time global execution.
- Once
Lock - A synchronization primitive which can nominally be written to only once.
- Once
State - State yielded to
Once::call_once_force()
’s closure parameter. The state can be used to query the poison status of theOnce
. - Poison
Error - A type of error which can be returned whenever a lock is acquired.
- RwLock
- A reader-writer lock
- RwLock
Read Guard - RAII structure used to release the shared read access of a lock when dropped.
- RwLock
Write Guard - RAII structure used to release the exclusive write access of a lock when dropped.
- Weak
Weak
is a version ofArc
that holds a non-owning reference to the managed allocation.
Enums§
- TryLock
Error - An enumeration of possible errors associated with a
TryLockResult
which can occur while trying to acquire a lock, from thetry_lock
method on aMutex
or thetry_read
andtry_write
methods on anRwLock
.
Type Aliases§
- Lock
Result - A type alias for the result of a lock method which can be poisoned.
- TryLock
Result - A type alias for the result of a nonblocking locking method.