示例代码:当你产生一个循环时会发生什么?
fn main() {
use std::thread::spawn;
spawn(|| { loop { println!("a") } });
// `a` is never printed
}
fn main() {
use std::thread::spawn;
spawn(|| { loop { println!("a") } });
loop { }
// `a` is printed repeatedly
}
a
打印到在第二种情况下的标准输出,但相同的是不是在第一种情况下如此。这是为什么?在第一种情况下也不应该反复打印a
?
注意:您忽略的返回值'的螺纹:: spawn',如果你使用它,你可以查询线程是否已完成,或等待其完成(这可能需要一段时间的无限循环)。 –