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