例子:
use std::thread;
fn main() {
let v = vec![1, 2, 3];
let handle = thread::spawn(move || { // 把變量v移動到子線程中
println!("v: {:?}", v);
});
// println!("in main thread, v: {:?}", v); // 主線程不能再使用變量v
handle.join().unwrap();
}
// fn main() {
// let v = vec![1, 2, 3];
// let handle = thread::spawn(|| {
// //sleep(10)
// println!("v: {:?}", v);
// });
// //drop(v);
// handle.join().unwrap();
// }
本節全部源代碼:
https://github.com/anonymousGiga/learn_rust/blob/master/learn_thread2/src/main.rs