Struct std::thread::Thread1.0.0 [] [src]

pub struct Thread { /* fields omitted */ }

A handle to a thread.

Examples

use std::thread;

let handler = thread::Builder::new()
    .name("foo".into())
    .spawn(|| {
        let thread = thread::current();
        println!("thread name: {}", thread.name().unwrap());
    })
    .unwrap();

handler.join().unwrap();Run

Methods

impl Thread
[src]

Atomically makes the handle's token available if it is not already.

See the module doc for more detail.

Examples

use std::thread;

let handler = thread::Builder::new()
    .spawn(|| {
        let thread = thread::current();
        thread.unpark();
    })
    .unwrap();

handler.join().unwrap();Run

🔬 This is a nightly-only experimental API.   (thread_id #21507)

Gets the thread's unique identifier.

Examples

#![feature(thread_id)]

use std::thread;

let handler = thread::Builder::new()
    .spawn(|| {
        let thread = thread::current();
        println!("thread id: {:?}", thread.id());
    })
    .unwrap();

handler.join().unwrap();Run

Gets the thread's name.

Examples

Threads by default have no name specified:

use std::thread;

let builder = thread::Builder::new();

let handler = builder.spawn(|| {
    assert!(thread::current().name().is_none());
}).unwrap();

handler.join().unwrap();Run

Thread with a specified name:

use std::thread;

let builder = thread::Builder::new()
    .name("foo".into());

let handler = builder.spawn(|| {
    assert_eq!(thread::current().name(), Some("foo"))
}).unwrap();

handler.join().unwrap();Run

Trait Implementations

impl Clone for Thread
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for Thread
[src]

Formats the value using the given formatter.