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.