Crate parking_lot

Source
Expand description

This library provides implementations of Mutex, RwLock, Condvar and Once that are smaller, faster and more flexible than those in the Rust standard library. It also provides a ReentrantMutex type.

Re-exports§

pub use ::lock_api;

Structs§

Condvar
A Condition Variable
Once
A synchronization primitive which can be used to run a one-time initialization. Useful for one-time initialization for globals, FFI or related functionality.
RawFairMutex
Raw fair mutex type backed by the parking lot.
RawMutex
Raw mutex type backed by the parking lot.
RawRwLock
Raw reader-writer lock type backed by the parking lot.
RawThreadId
Implementation of the GetThreadId trait for lock_api::ReentrantMutex.
WaitTimeoutResult
A type indicating whether a timed wait on a condition variable returned due to a time out or not.

Enums§

OnceState
Current state of a Once.

Functions§

const_fair_mutex
Creates a new fair mutex in an unlocked state ready for use.
const_mutex
Creates a new mutex in an unlocked state ready for use.
const_reentrant_mutex
Creates a new reentrant mutex in an unlocked state ready for use.
const_rwlock
Creates a new instance of an RwLock<T> which is unlocked.

Type Aliases§

FairMutex
A mutual exclusive primitive that is always fair, useful for protecting shared data
FairMutexGuard
An RAII implementation of a “scoped lock” of a mutex. When this structure is dropped (falls out of scope), the lock will be unlocked.
MappedFairMutexGuard
An RAII mutex guard returned by FairMutexGuard::map, which can point to a subfield of the protected data.
MappedMutexGuard
An RAII mutex guard returned by MutexGuard::map, which can point to a subfield of the protected data.
MappedReentrantMutexGuard
An RAII mutex guard returned by ReentrantMutexGuard::map, which can point to a subfield of the protected data.
MappedRwLockReadGuard
An RAII read lock guard returned by RwLockReadGuard::map, which can point to a subfield of the protected data.
MappedRwLockWriteGuard
An RAII write lock guard returned by RwLockWriteGuard::map, which can point to a subfield of the protected data.
Mutex
A mutual exclusion primitive useful for protecting shared data
MutexGuard
An RAII implementation of a “scoped lock” of a mutex. When this structure is dropped (falls out of scope), the lock will be unlocked.
ReentrantMutex
A mutex which can be recursively locked by a single thread.
ReentrantMutexGuard
An RAII implementation of a “scoped lock” of a reentrant mutex. When this structure is dropped (falls out of scope), the lock will be unlocked.
RwLock
A reader-writer lock
RwLockReadGuard
RAII structure used to release the shared read access of a lock when dropped.
RwLockUpgradableReadGuard
RAII structure used to release the upgradable read access of a lock when dropped.
RwLockWriteGuard
RAII structure used to release the exclusive write access of a lock when dropped.