Trait lock_api::RawMutex [−][src]
pub unsafe trait RawMutex { type GuardMarker; const INIT: Self; fn lock(&self); fn try_lock(&self) -> bool; unsafe fn unlock(&self); fn is_locked(&self) -> bool { ... } }
Basic operations for a mutex.
Types implementing this trait can be used by Mutex
to form a safe and
fully-functioning mutex type.
Safety
Implementations of this trait must ensure that the mutex is actually exclusive: a lock can’t be acquired while the mutex is already locked.
Associated Types
type GuardMarker
[src]
Marker type which determines whether a lock guard should be Send
. Use
one of the GuardSend
or GuardNoSend
helper types here.
Associated Constants
Loading content...Required methods
fn lock(&self)
[src]
Acquires this mutex, blocking the current thread until it is able to do so.
fn try_lock(&self) -> bool
[src]
Attempts to acquire this mutex without blocking. Returns true
if the lock was successfully acquired and false
otherwise.
unsafe fn unlock(&self)
[src]
Unlocks this mutex.
Safety
This method may only be called if the mutex is held in the current context, i.e. it must
be paired with a successful call to lock
, try_lock
, try_lock_for
or try_lock_until
.