[][src]Struct tokio::sync::Mutex

pub struct Mutex<T> { /* fields omitted */ }
This is supported on feature="sync" only.

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]

This is supported on feature="sync" only.

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

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

This is supported on feature="sync" only.

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

pub fn try_lock(&self) -> Result<MutexGuard<T>, TryLockError>[src]

This is supported on feature="sync" only.

Try to acquire the lock

Trait Implementations

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

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

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

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

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

Auto Trait Implementations

impl<T> !RefUnwindSafe for Mutex<T>

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

impl<T> !UnwindSafe for Mutex<T>

Blanket Implementations

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

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

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

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

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

impl<T, U> Into<U> for T where
    U: From<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.