pub struct WaitTimeoutResult(_);
A type indicating whether a timed wait on a condition variable returned
due to a time out or not.
It is returned by the wait_timeout
method.
Returns whether the wait was known to have timed out.
This example spawns a thread which will update the boolean value and
then wait 100 milliseconds before notifying the condvar.
The main thread will wait with a timeout on the condvar and then leave
once the boolean has been updated and notified.
use std::sync::{Arc, Mutex, Condvar};
use std::thread;
use std::time::Duration;
let pair = Arc::new((Mutex::new(false), Condvar::new()));
let pair2 = pair.clone();
thread::spawn(move|| {
let &(ref lock, ref cvar) = &*pair2;
thread::sleep(Duration::from_millis(20));
let mut started = lock.lock().unwrap();
*started = true;
cvar.notify_one();
});
let &(ref lock, ref cvar) = &*pair;
let mut started = lock.lock().unwrap();
loop {
let result = cvar.wait_timeout(started, Duration::from_millis(10)).unwrap();
started = result.0;
if *started == true {
break
}
}Run
Formats the value using the given formatter. Read more
This method tests for self
and other
values to be equal, and is used by ==
. Read more
This method tests for !=
.
Performs copy-assignment from source
. Read more