Struct ethcore_util::standard::RwLockReadGuard []

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

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

Methods

impl<'a, T> RwLockReadGuard<'a, T> where T: 'a + ?Sized

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> Deref for RwLockReadGuard<'a, T> where T: 'a + ?Sized

The resulting type after dereferencing

The method called to dereference a value

impl<'a, T> Drop for RwLockReadGuard<'a, T> where T: 'a + ?Sized

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

impl<'a, T> StableAddress for RwLockReadGuard<'a, T> where T: ?Sized