[][src]Trait lock_api::RawRwLockFair

pub unsafe trait RawRwLockFair: RawRwLock {
    fn unlock_shared_fair(&self);
fn unlock_exclusive_fair(&self); fn bump_shared(&self) { ... }
fn bump_exclusive(&self) { ... } }

Additional methods for RwLocks which support fair unlocking.

Fair unlocking means that a lock is handed directly over to the next waiting thread if there is one, without giving other threads the opportunity to "steal" the lock in the meantime. This is typically slower than unfair unlocking, but may be necessary in certain circumstances.

Required methods

fn unlock_shared_fair(&self)

Releases a shared lock using a fair unlock protocol.

fn unlock_exclusive_fair(&self)

Releases an exclusive lock using a fair unlock protocol.

Loading content...

Provided methods

fn bump_shared(&self)

Temporarily yields a shared lock to a waiting thread if there is one.

This method is functionally equivalent to calling unlock_shared_fair followed by lock_shared, however it can be much more efficient in the case where there are no waiting threads.

fn bump_exclusive(&self)

Temporarily yields an exclusive lock to a waiting thread if there is one.

This method is functionally equivalent to calling unlock_exclusive_fair followed by lock_exclusive, however it can be much more efficient in the case where there are no waiting threads.

Loading content...

Implementors

Loading content...