线程
Rust 通过 spawn
函数提供了创建本地操作系统(native OS)线程的机制,该函数的参数是一个转移闭包(moving closure)。
use std::thread; static NTHREADS: i32 = 10; // 这是主(`main`)线程 fn main() { // 提供一个 vector 来存放所创建的子线程(children)。 let mut children = vec![]; for i in 0..NTHREADS { // 启动(spin up)另一个线程 children.push(thread::spawn(move || { println!("this is thread number {}", i) })); } for child in children { // 等待线程到结束。返回一个结果。 let _ = child.join(); } }
这些线程由操作系统调度(schedule)。