@FlensT

Как ожидать завершения дочерних потоков?

Нормально ли так ожидать завершения дочерних потоков?
Код:
use std::{thread, time::Duration};

fn main() {
    thread::spawn(||{
        let handle1 = thread::spawn(||{
            some_func(1);
        });
        let handle2 = thread::spawn(||{
            some_func(2);
        });
        loop {if handle1.is_finished() || handle2.is_finished(){break;}}
    }).join().unwrap();
}

fn some_func(number: i32){
    for i in 0..10{
        println!("Iter {} of thread number: {}", i, number);
        thread::sleep(Duration::from_secs(1));
    }
}
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
@qid00000000
Мало что знаю, но информацию найду в гугле
Лучше через join сделать https://doc.rust-lang.org/book/ch16-01-threads.html
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы