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.
Multi-producer, single-consumer FIFO queue communication primitives.
A thread-safe reference-counting pointer. 'Arc' stands for 'Atomically Reference Counted'.
A barrier enables multiple threads to synchronize the beginning of some computation.
A Condition Variable
A mutual exclusion primitive useful for protecting shared data
An RAII implementation of a "scoped lock" of a mutex. When this structure is dropped (falls out of scope), the lock will be unlocked.
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
A type of error which can be returned whenever a lock is acquired.
A reader-writer lock
RAII structure used to release the shared read access of a lock when dropped.
RAII structure used to release the exclusive write access of a lock when dropped.
A type indicating whether a timed wait on a condition variable returned due to a time out or not.
An enumeration of possible errors associated with a
Initialization value for static
A type alias for the result of a lock method which can be poisoned.
A type alias for the result of a nonblocking locking method.