Expand description
Useful synchronization primitives.
Modulesยง
- guard ๐
- mutex ๐
- non_
null - This module provides a trait and some auxiliary types to help abstract and work with non-null pointers.
- rcu ๐
- Read-copy update (RCU).
- rwarc ๐
- rwlock ๐
- rwmutex ๐
- spin ๐
- wait ๐
Structsยง
- Mutex
- A mutex with waitqueue.
- Rcu
- A Read-Copy Update (RCU) cell for sharing a pointer between threads.
- RcuDrop
- A wrapper to delay calling destructor of
T
after the RCU grace period. - RcuOption
- A Read-Copy Update (RCU) cell for sharing a nullable pointer.
- RcuOption
Read Guard - A guard that allows access to the pointed data protected by a
RcuOption
. - RcuRead
Guard - A guard that allows access to the pointed data protected by a
Rcu
. - RoArc
- A reference-counting pointer with read-only capabilities.
- RwArc
- A reference-counting pointer with read-write capabilities.
- RwLock
- Spin-based Read-write Lock
- RwMutex
- A mutex that provides data access to either one writer or many readers.
- Spin
Lock - A spin lock.
- Wait
Queue - A wait queue.
- Waiter
- A waiter that can put the current thread to sleep until it is woken up by the associated
Waker
. - Waker
- A waker that can wake up the associated
Waiter
.
Enumsยง
- Local
IrqDisabled - A guardian that disables IRQs while holding a lock.
- Preempt
Disabled - A guardian that disables preemption while holding a lock.
- Write
IrqDisabled - A guardian that disables IRQs while holding a write lock.
Traitsยง
- Guard
Transfer - The Guard can be transferred atomically.
- Spin
Guardian - A guardian that denotes the guard behavior for holding a spin-based lock.
Functionsยง
- init ๐
Type Aliasesยง
- ArcMutex
Guard - An guard that provides exclusive access to the data protected by a
Arc<Mutex>
. - ArcRw
Lock Read Guard - A guard that provides shared read access to the data protected by a
Arc<RwLock>
. - ArcRw
Lock Upgradeable Guard - A upgradable guard that provides read access to the data protected by a
Arc<RwLock>
. - ArcRw
Lock Write Guard - A guard that provides exclusive write access to the data protected by a
Arc<RwLock>
. - ArcRw
Mutex Read Guard - A guard that provides shared read access to the data protected by a
Arc<RwMutex>
. - ArcRw
Mutex Upgradeable Guard - A upgradable guard that provides read access to the data protected by a
Arc<RwMutex>
. - ArcRw
Mutex Write Guard - A guard that provides exclusive write access to the data protected by a
Arc<RwMutex>
. - ArcSpin
Lock Guard - A guard that provides exclusive access to the data protected by a
Arc<SpinLock>
. - Mutex
Guard - A guard that provides exclusive access to the data protected by a
Mutex
. - RwLock
Read Guard - A guard that provides shared read access to the data protected by a
RwLock
. - RwLock
Upgradeable Guard - A upgradable guard that provides read access to the data protected by a
RwLock
. - RwLock
Write Guard - A guard that provides exclusive write access to the data protected by a
RwLock
. - RwMutex
Read Guard - A guard that provides shared read access to the data protected by a
RwMutex
. - RwMutex
Upgradeable Guard - A upgradable guard that provides read access to the data protected by a
RwMutex
. - RwMutex
Write Guard - A guard that provides exclusive write access to the data protected by a
RwMutex
. - Spin
Lock Guard - A guard that provides exclusive access to the data protected by a
SpinLock
.