Module sync

Module sync 

Source
Expand description

Shuttle’s implementation of std::sync.

Modules§

atomic
Atomic types
mpsc
Multi-producer, single-consumer FIFO queue communication 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.
BarrierWaitResult
A BarrierWaitResult is returned by Barrier::wait() when all threads in the Barrier have rendezvoused.
Condvar
A Condvar represents the ability to block a thread such that it consumes no CPU time while waiting for an event to occur.
Mutex
A mutex, the same as std::sync::Mutex.
MutexGuard
A mutex guard, the same as std::sync::MutexGuard.
Once
A synchronization primitive which can be used to run a one-time global initialization. Useful for one-time initialization for FFI or related functionality. This type can only be constructed with Once::new().
OnceState
State yielded to Once::call_once_force()’s closure parameter. The state can be used to query the poison status of the Once.
RwLock
A reader-writer lock, the same as std::sync::RwLock.
RwLockReadGuard
RAII structure used to release the shared read access of a RwLock when dropped.
RwLockWriteGuard
RAII structure used to release the exclusive write access of a RwLock when dropped.
WaitTimeoutResult
A type indicating whether a timed wait on a condition variable returned due to a time out or not.
Weak
Weak is a version of Arc that holds a non-owning reference to the managed allocation.