pub struct RawRwSpinlock<R: Relax = Spin> { /* private fields */ }
Expand description
A simple, spinning, read-preferring readers-writer lock.
Trait Implementations§
Source§impl<R: Relax> RawRwLock for RawRwSpinlock<R>
impl<R: Relax> RawRwLock for RawRwSpinlock<R>
Source§type GuardMarker = GuardSend
type GuardMarker = GuardSend
Marker type which determines whether a lock guard should be
Send
. Use
one of the GuardSend
or GuardNoSend
helper types here.Acquires a shared lock, blocking the current thread until it is able to do so.
Attempts to acquire a shared lock without blocking.
Releases a shared lock. Read more
Source§fn lock_exclusive(&self)
fn lock_exclusive(&self)
Acquires an exclusive lock, blocking the current thread until it is able to do so.
Source§fn try_lock_exclusive(&self) -> bool
fn try_lock_exclusive(&self) -> bool
Attempts to acquire an exclusive lock without blocking.
Source§unsafe fn unlock_exclusive(&self)
unsafe fn unlock_exclusive(&self)
Releases an exclusive lock. Read more
Source§fn is_locked_exclusive(&self) -> bool
fn is_locked_exclusive(&self) -> bool
Check if this
RwLock
is currently exclusively locked.Source§impl<R: Relax> RawRwLockDowngrade for RawRwSpinlock<R>
impl<R: Relax> RawRwLockDowngrade for RawRwSpinlock<R>
Source§impl<R: Relax> RawRwLockRecursive for RawRwSpinlock<R>
impl<R: Relax> RawRwLockRecursive for RawRwSpinlock<R>
Acquires a shared lock without deadlocking in case of a recursive lock.
Attempts to acquire a shared lock without deadlocking in case of a recursive lock.
Source§impl<R: Relax> RawRwLockUpgrade for RawRwSpinlock<R>
impl<R: Relax> RawRwLockUpgrade for RawRwSpinlock<R>
Source§fn lock_upgradable(&self)
fn lock_upgradable(&self)
Acquires an upgradable lock, blocking the current thread until it is able to do so.
Source§fn try_lock_upgradable(&self) -> bool
fn try_lock_upgradable(&self) -> bool
Attempts to acquire an upgradable lock without blocking.
Source§unsafe fn unlock_upgradable(&self)
unsafe fn unlock_upgradable(&self)
Releases an upgradable lock. Read more
Source§unsafe fn try_upgrade(&self) -> bool
unsafe fn try_upgrade(&self) -> bool
Attempts to upgrade an upgradable lock to an exclusive lock without
blocking. Read more
Source§impl<R: Relax> RawRwLockUpgradeDowngrade for RawRwSpinlock<R>
impl<R: Relax> RawRwLockUpgradeDowngrade for RawRwSpinlock<R>
Source§unsafe fn downgrade_upgradable(&self)
unsafe fn downgrade_upgradable(&self)
Downgrades an upgradable lock to a shared lock. Read more
Source§unsafe fn downgrade_to_upgradable(&self)
unsafe fn downgrade_to_upgradable(&self)
Downgrades an exclusive lock to an upgradable lock. Read more
Auto Trait Implementations§
impl<R = Spin> !Freeze for RawRwSpinlock<R>
impl<R> RefUnwindSafe for RawRwSpinlock<R>where
R: RefUnwindSafe,
impl<R> Send for RawRwSpinlock<R>where
R: Send,
impl<R> Sync for RawRwSpinlock<R>where
R: Sync,
impl<R> Unpin for RawRwSpinlock<R>where
R: Unpin,
impl<R> UnwindSafe for RawRwSpinlock<R>where
R: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more