示例代碼:當你產生一個循環時會發生什麼?
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',如果你使用它,你可以查詢線程是否已完成,或等待其完成(這可能需要一段時間的無限循環)。 –