Trait lock_api::RawRwLockUpgradeFair
source · [−]pub unsafe trait RawRwLockUpgradeFair: RawRwLockUpgrade + RawRwLockFair {
fn unlock_upgradable_fair(&self);
fn bump_upgradable(&self) { ... }
}
Expand description
Additional methods for RwLocks which support upgradable locks and fair unlocking.
Required methods
fn unlock_upgradable_fair(&self)
fn unlock_upgradable_fair(&self)
Releases an upgradable lock using a fair unlock protocol.
Provided methods
fn bump_upgradable(&self)
fn bump_upgradable(&self)
Temporarily yields an upgradable lock to a waiting thread if there is one.
This method is functionally equivalent to calling unlock_upgradable_fair
followed
by lock_upgradable
, however it can be much more efficient in the case where there
are no waiting threads.