[][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) -> Mutex<T>[src]

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

pub fn lock(&'_ self) -> impl Future<Output = MutexGuard<'_, T>>[src]

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

Trait Implementations

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

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

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

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

impl<T> Debug for Mutex<T> where
    T: Debug
[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]