pub struct Condvar { /* private fields */ }Expand description
A condition variable for coordinating threads.
Implementations§
Source§impl Condvar
impl Condvar
Sourcepub fn wait<'a, T>(&self, guard: &mut MutexGuard<'a, T>)
pub fn wait<'a, T>(&self, guard: &mut MutexGuard<'a, T>)
Blocks the current thread until notified.
Sourcepub fn wait_for<'a, T>(
&self,
guard: &mut MutexGuard<'a, T>,
timeout: Duration,
) -> WaitTimeoutResult
pub fn wait_for<'a, T>( &self, guard: &mut MutexGuard<'a, T>, timeout: Duration, ) -> WaitTimeoutResult
Blocks the current thread until notified or the timeout expires.
Sourcepub fn notify_one(&self)
pub fn notify_one(&self)
Wakes up one blocked thread.
Sourcepub fn notify_all(&self)
pub fn notify_all(&self)
Wakes up all blocked threads.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Condvar
impl RefUnwindSafe for Condvar
impl Send for Condvar
impl Sync for Condvar
impl Unpin for Condvar
impl UnsafeUnpin for Condvar
impl UnwindSafe for Condvar
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more