# Crate parking_lot [−] [src]

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 Definitions

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.