Функция current
Функция current из модуля thread возвращает
объект Thread, который представляет текущий
выполняющийся поток. Она не принимает параметров и
позволяет получить информацию о потоке, например его
идентификатор или имя.
Синтаксис
std::thread::current()
Пример
Давайте получим дескриптор текущего потока и выведем его идентификатор:
use std::thread;
fn main()
{
let current = thread::current();
let id = current.id();
println!("{:?}", id);
}
Результат выполнения кода:
ThreadId(1)
Пример
Давайте получим имя текущего потока. По умолчанию главный поток не имеет имени:
use std::thread;
fn main()
{
let current = thread::current();
let name = current.name();
println!("{:?}", name);
}
Результат выполнения кода:
None
Пример
Давайте создадим именованный поток и получим его имя
изнутри с помощью функции current:
use std::thread;
fn main()
{
let handle = thread::Builder::new()
.name("worker".to_string())
.spawn(|| {
let current = thread::current();
println!("{:?}", current.name());
})
.unwrap();
handle.join().unwrap();
}
Результат выполнения кода:
Some("worker")