Module std::sync 1.0.0[−][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 |
A thread-safe reference-counting pointer. 'Arc' stands for 'Atomically Reference Counted'. |
Barrier |
A barrier enables multiple threads to synchronize the beginning of some computation. |
BarrierWaitResult |
A |
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 |
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 |
|
OnceState |
[ Experimental ] State yielded to |
Enums
TryLockError |
An enumeration of possible errors associated with a |
Constants
ONCE_INIT |
Initialization value for static |
Type Definitions
LockResult |
A type alias for the result of a lock method which can be poisoned. |
TryLockResult |
A type alias for the result of a nonblocking locking method. |