3
之前,所以這就是我的了:防止應用程序從關閉的所有線程完成
extern crate time;
use std::thread;
fn main() {
let start = time::get_time();
println!("Starting application");
do_stuff();
println!("Total {:?}", time::get_time() - start);
}
fn do_stuff() {
for i in 0..4i32 {
thread::spawn(move || {
thread::sleep_ms(1);
println!("doing stuff {:?}", i);
});
}
}
出於某種原因,我不熟悉的應用程序不會等待線程功能do_stuff()
完成並關閉。所以這是我的輸出獲得:
Starting application
Total Duration { secs: 0, nanos: 808482 }
,而不是像
Starting application
doing stuff 1
doing stuff 2
doing stuff 3
doing stuff 4
Total Duration { secs: 0, nanos: 808482 }
如何讓我的應用程序等待線程完成,即使線程不返回任何?