Module std::syncStable
[-] [+]
[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 tasks to synchronize the beginning of some computation. |
BarrierWaitResult | A result returned from wait. |
Condvar | A Condition Variable |
Future | A type encapsulating the result of a computation which may not be complete |
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. |
Semaphore | A counting, blocking, semaphore. |
SemaphoreGuard | An RAII guard which will release a resource acquired from a semaphore when dropped. |
StaticCondvar | Statically allocated condition variables. |
StaticMutex | The static mutex type is provided to allow for static allocation of mutexes. |
StaticRwLock | Structure representing a statically allocated RwLock. |
TaskPool | A thread pool used to execute functions in parallel. |
Weak | A weak pointer to an |
Enums
TryLockError | An enumeration of possible errors which can occur while calling the
|
Constants
CONDVAR_INIT | Constant initializer for a statically allocated condition variable. |
MUTEX_INIT | Static initialization of a mutex. This constant can be used to initialize other mutex constants. |
ONCE_INIT | Initialization value for static |
RW_LOCK_INIT | Constant initialization for a statically-initialized rwlock. |
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. |