Struct parking_lot::RwLockReadGuard [] [src]

#[must_use]
pub struct RwLockReadGuard<'a, T: ?Sized + 'a> { /* fields omitted */ }

RAII structure used to release the shared read access of a lock when dropped.

Methods

impl<'a, T: ?Sized + 'a> RwLockReadGuard<'a, T>
[src]

Unlocks the RwLock using a fair unlock protocol.

By default, RwLock is unfair and allow the current thread to re-lock the rwlock before another has the chance to acquire the lock, even if that thread has been blocked on the RwLock for a long time. This is the default because it allows much higher throughput as it avoids forcing a context switch on every rwlock unlock. This can result in one thread acquiring a RwLock many more times than other threads.

However in some cases it can be beneficial to ensure fairness by forcing the lock to pass on to a waiting thread if there is one. This is done by using this method instead of dropping the RwLockReadGuard normally.

Trait Implementations

impl<'a, T: ?Sized + 'a> Deref for RwLockReadGuard<'a, T>
[src]

The resulting type after dereferencing

The method called to dereference a value

impl<'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, T>
[src]

A method called when the value goes out of scope. Read more

impl<'a, T: ?Sized> StableAddress for RwLockReadGuard<'a, T>
[src]