スレッド
Rust は、spawn 関数を介してネイティブ OS スレッドを生成する仕組みを提供しています。この関数の引数はムーブクロージャです。
use std::thread; const NTHREADS: u32 = 10; // これは `main` スレッドです fn main() { // 生成された子スレッドを保持するベクターを作成します。 let mut children = vec![]; for i in 0..NTHREADS { // 別のスレッドを起動します children.push(thread::spawn(move || { println!("これはスレッド番号 {} です", i); })); } for child in children { // スレッドの終了を待機します。結果を返します。 let _ = child.join(); } }
これらのスレッドは OS によってスケジュールされます。