# [−][src]Crate parking_lot

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.

## 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.
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`.

## Constants

ONCE_INIT | Initialization value for static `Once` values.

## Type Definitions

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.

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g., `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g., `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g., `str,u8` or `String,struct:Vec,test`)