[][src]Module async_std::sync

Synchronization primitives.

This module is an async version of std::sync.

Examples

Spawn a task that updates an integer protected by a mutex:

use std::sync::Arc;

use async_std::sync::Mutex;
use async_std::task;

let m1 = Arc::new(Mutex::new(0));
let m2 = m1.clone();

task::spawn(async move {
    *m2.lock().await = 1;
})
.await;

assert_eq!(*m1.lock().await, 1);

Structs

Mutex

A mutual exclusion primitive for protecting shared data.

MutexGuard

A guard that releases the lock when dropped.

RwLock

A reader-writer lock for protecting shared data.

RwLockReadGuard

A guard that releases the read lock when dropped.

RwLockWriteGuard

A guard that releases the write lock when dropped.