Module sync
Source - atomic
- barrier
- Synchronization primitive allowing multiple threads to synchronize the
beginning of some computation.
- lazy
- Synchronization primitives for lazy evaluation.
- lock_api
- Spin synchronisation primitives, but compatible with
lock_api. - mutex
- Locks that have the same behaviour as a mutex.
- once
- Synchronization primitives for one-time evaluation.
- relax
- Strategies that determine the behaviour of locks when encountering contention.
- rwlock
- A lock that provides data access to either one writer or many readers.
- Arc
- A thread-safe reference-counting pointer. ‘Arc’ stands for ‘Atomically
Reference Counted’.
- MutexGuard
- A generic guard that will protect some data access and
uses either a ticket lock or a normal spin mutex.
- RwLockReadGuard
- A guard that provides immutable data access.
- Spin
- A strategy that rapidly spins while informing the CPU that it should power down non-essential components via
core::hint::spin_loop. - Weak
Weak is a version of Arc that holds a non-owning reference to the
managed allocation.- UniqueArcExperimental
- A uniquely owned
Arc.
- RelaxStrategy
- A trait implemented by spinning relax strategies.
- Barrier
- A primitive that synchronizes the execution of multiple threads. See
barrier::Barrier for documentation. - Lazy
- A value which is initialized on the first access. See
lazy::Lazy for documentation. - Mutex
- A primitive that synchronizes the execution of multiple threads. See
mutex::Mutex for documentation. - Once
- A primitive that provides lazy one-time initialization. See
once::Once for documentation. - RwLock
- A lock that provides data access to either one writer or many readers. See
rwlock::RwLock for documentation. - RwLockUpgradableGuard
- A guard that provides immutable data access but can be upgraded to
RwLockWriteGuard. See
rwlock::RwLockUpgradableGuard for documentation. - RwLockWriteGuard
- A guard that provides mutable data access. See
rwlock::RwLockWriteGuard for documentation.