РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1043 of 1245 menu

Метод spawn

Метод spawn класса Builder запускает новый поток, используя конфигурацию, заданную через методы name и stack_size. Параметром метод принимает замыкание, которое будет выполняться в новом потоке. Метод возвращает Result с JoinHandle в случае успеха или ошибку, если поток не удалось создать.

Синтаксис

builder.spawn(f)

Пример

Давайте создадим поток с именем "worker" и выведем сообщение из него:

use std::thread; fn main() { let builder = thread::Builder::new().name("worker".to_string()); let handle = builder.spawn(|| { println!("Hello from thread"); }).unwrap(); handle.join().unwrap(); }

Результат выполнения кода:

"Hello from thread"

Пример

Давайте зададим размер стека для нового потока и получим его идентификатор:

use std::thread; fn main() { let builder = thread::Builder::new().stack_size(1024 * 1024); let handle = builder.spawn(|| { let id = thread::current().id(); println!("{:?}", id); }).unwrap(); handle.join().unwrap(); }

Результат выполнения кода:

ThreadId(1)

Смотрите также

  • класс Builder,
    который позволяет настраивать параметры нового потока
  • метод new,
    который создает новый экземпляр Builder
  • метод name,
    который задает имя для нового потока
  • метод stack_size,
    который задает размер стека для нового потока
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить