Struct std::thread::JoinHandle 1.0.0
[−]
[src]
pub struct JoinHandle<T>(_);
An owned permission to join on a thread (block on its termination).
A JoinHandle
detaches the child thread when it is dropped.
Due to platform restrictions, it is not possible to Clone
this
handle: the ability to join a child thread is a uniquely-owned
permission.
This struct
is created by the thread::spawn
function and the
thread::Builder::spawn
method.
Examples
Creation from thread::spawn
:
use std::thread; let join_handle: thread::JoinHandle<_> = thread::spawn(|| { // some work here });Run
Creation from thread::Builder::spawn
:
use std::thread; let builder = thread::Builder::new(); let join_handle: thread::JoinHandle<_> = builder.spawn(|| { // some work here }).unwrap();Run
Methods
impl<T> JoinHandle<T>
[src]
fn thread(&self) -> &Thread
Extracts a handle to the underlying thread.
Examples
#![feature(thread_id)] use std::thread; let builder = thread::Builder::new(); let join_handle: thread::JoinHandle<_> = builder.spawn(|| { // some work here }).unwrap(); let thread = join_handle.thread(); println!("thread id: {:?}", thread.id());Run
fn join(self) -> Result<T>
Waits for the associated thread to finish.
If the child thread panics, Err
is returned with the parameter given
to panic
.
Examples
use std::thread; let builder = thread::Builder::new(); let join_handle: thread::JoinHandle<_> = builder.spawn(|| { // some work here }).unwrap(); join_handle.join().expect("Couldn't join on the associated thread");Run
Trait Implementations
impl<T> Debug for JoinHandle<T>
1.15.0[src]
impl<T> JoinHandleExt for JoinHandle<T>
1.9.0[src]
fn as_pthread_t(&self) -> RawPthread
Extracts the raw pthread_t without taking ownership
fn into_pthread_t(self) -> RawPthread
Consumes the thread, returning the raw pthread_t Read more