Expand description
Useful synchronization primitives.
Modules§
- non_
null - This module provides a trait and some auxiliary types to help abstract and work with non-null pointers.
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
Tafter 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.
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.