pub struct ParkThread { /* private fields */ }
Expand description
Blocks the current thread using a condition variable.
Implements the Park
functionality by using a condition variable. An
atomic variable is also used to avoid using the condition variable if
possible.
The condition variable is cached in a thread-local variable and is shared
across all ParkThread
instances created on the same thread. This also
means that an instance of ParkThread
might be unblocked by a handle
associated with a different ParkThread
instance.
Implementations§
Source§impl ParkThread
impl ParkThread
Sourcepub fn new() -> ParkThread
pub fn new() -> ParkThread
Create a new ParkThread
handle for the current thread.
This type cannot be moved to other threads, so it should be created on the thread that the caller intends to park.
Trait Implementations§
Source§impl Debug for ParkThread
impl Debug for ParkThread
Auto Trait Implementations§
impl Freeze for ParkThread
impl RefUnwindSafe for ParkThread
impl !Send for ParkThread
impl !Sync for ParkThread
impl Unpin for ParkThread
impl UnwindSafe for ParkThread
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