Struct safina_sync::Mutex [−][src]
A wrapper around
std::sync::Mutex
with an async lock
method.
Implementations
impl<T> Mutex<T>
[src]
pub fn new(value: T) -> Mutex<T>
[src]
pub async fn lock(&self) -> MutexGuard<'_, T>
[src]
Acquires the mutex, sleeping the current task until it is able to do so.
After this function returns, is the only task holding the lock.
The returned guard is an RAII scoped lock. It automatically unlocks the mutex when dropped (falls out of scope).
The returned guard is not
Send
so you cannot await
while holding it.
If a task panics while holding the guard, the underlying mutex becomes
“poisoned”
and subsequent calls to lock
will panic.
Auto Trait Implementations
impl<T> RefUnwindSafe for Mutex<T>
impl<T> Send for Mutex<T> where
T: Send,
T: Send,
impl<T> Sync for Mutex<T> where
T: Send,
T: Send,
impl<T> Unpin for Mutex<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Mutex<T>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,