[][src]Struct tokio_sync::Mutex

pub struct Mutex<T> { /* fields omitted */ }

An asynchronous mutual exclusion primitive useful for protecting shared data

Each mutex has a type parameter (T) which represents the data that it is protecting. The data can only be accessed through the RAII guards returned from lock, which guarantees that the data is only ever accessed when the mutex is locked.

Methods

impl<T> Mutex<T>[src]

pub fn new(t: T) -> Self[src]

Creates a new lock in an unlocked state ready for use.

pub async fn lock<'_, '_>(&'_ self) -> MutexGuard<'_, T>[src]

A future that resolves on acquiring the lock and returns the MutexGuard.

Trait Implementations

impl<T> Send for Mutex<T> where
    T: Send
[src]

impl<T> Default for Mutex<T> where
    T: Default
[src]

impl<T> Sync for Mutex<T> where
    T: Send
[src]

impl<T> From<T> for Mutex<T>[src]

impl<T: Debug> Debug for Mutex<T>[src]

Auto Trait Implementations

impl<T> Unpin for Mutex<T> where
    T: Unpin

impl<T> !UnwindSafe for Mutex<T>

impl<T> !RefUnwindSafe for Mutex<T>

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]