# Module bitflags::__core::sync [−] [src]

Useful synchronization primitives.

This module contains useful safe and unsafe synchronization primitives. Most of the primitives in this module do not provide any sort of locking and/or blocking at all, but rather provide the necessary tools to build other types of concurrent primitives.

## Modules

atomic | Atomic types
mpsc | Multi-producer, single-consumer FIFO queue communication primitives.

## Structs

Arc | An atomically reference counted wrapper for shared state.
Barrier | A barrier enables multiple threads to synchronize the beginning of some computation.
BarrierWaitResult | A result returned from wait.
Condvar | A Condition Variable
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.
Once | A synchronization primitive which can be used to run a one-time global initialization. Useful for one-time initialization for FFI or related functionality. This type can only be constructed with the `ONCE_INIT` value.
PoisonError | A type of error which can be returned whenever a lock is acquired.
RwLock | A reader-writer lock
RwLockReadGuard | RAII structure used to release the shared read access of a lock when dropped.
RwLockWriteGuard | RAII structure used to release the exclusive write access of a lock when dropped.
WaitTimeoutResult | A type indicating whether a timed wait on a condition variable returned due to a time out or not.
Weak | A weak pointer to an `Arc`.
StaticCondvar | [Unstable] Statically allocated condition variables.
StaticMutex | [Unstable] The static mutex type is provided to allow for static allocation of mutexes.
StaticRwLock | [Unstable] Structure representing a statically allocated RwLock.

## Enums

TryLockError | An enumeration of possible errors which can occur while calling the `try_lock` method.

## Constants

ONCE_INIT | Initialization value for static `Once` values.
CONDVAR_INIT | [Unstable] Constant initializer for a statically allocated condition variable.
MUTEX_INIT | [Unstable] Static initialization of a mutex. This constant can be used to initialize other mutex constants.
RW_LOCK_INIT | [Unstable] Constant initialization for a statically-initialized rwlock.

## Type Definitions

LockResult |
TryLockResult |

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result

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