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.
atomic | Atomic types |
mpsc | Multi-producer, single-consumer FIFO queue communication primitives. |
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 |
TryLockError | An enumeration of possible errors associated with a |
ONCE_INIT | Initialization value for static |
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. |
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/sync/index.html