W3cubDocs

/Rust

Module std::sync

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.

Barrier

A barrier enables multiple threads to synchronize the beginning of some computation.

BarrierWaitResult

A result returned from wait.

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 ONCE_INIT value.

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

A weak version of Arc.

OnceState [
Experimental
]

State yielded to the call_once_force method which can be used to query whether the Once was previously poisoned or not.

Enums

TryLockError

An enumeration of possible errors which can occur while calling the try_lock method.

Constants

ONCE_INIT

Initialization value for static Once values.

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.

© 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