Struct std::thread::ScopedJoinHandle
source · [−]pub struct ScopedJoinHandle<'scope, T>(_);
Expand description
An owned permission to join on a scoped thread (block on its termination).
See Scope::spawn
for details.
Implementations
Waits for the associated thread to finish.
This function will return immediately if the associated thread has already finished.
In terms of atomic memory orderings, the completion of the associated
thread synchronizes with this function returning.
In other words, all operations performed by that thread
happen before
all operations that happen after join
returns.
If the associated thread panics, Err
is returned with the panic payload.
Examples
#![feature(scoped_threads)]
#![feature(thread_is_running)]
use std::thread;
thread::scope(|s| {
let t = s.spawn(|_| {
panic!("oh no");
});
assert!(t.join().is_err());
});
RunChecks if the associated thread is still running its main function.
This might return false
for a brief moment after the thread’s main
function has returned, but before the thread itself has stopped running.