Module std::syncExperimental
[-]
[+]
[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 |
Structs
| Arc | An atomically reference counted wrapper for shared state. |
| Barrier | A barrier enables multiple tasks to synchronize the beginning of some computation. |
| 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 |
| RWLOCK_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. |