Threads
Rust provides a mechanism for spawning native OS threads via the spawn
function, the argument of this function is a moving closure.
use std::thread;const NTHREADS: u32 = 10;// This is the `main` threadfn main() {// Make a vector to hold the children which are spawned.let mut children = vec![];for i in 0..NTHREADS {// Spin up another threadchildren.push(thread::spawn(move || {println!("this is thread number {}", i);}));}for child in children {// Wait for the thread to finish. Returns a result.let _ = child.join();}}
These threads will be scheduled by the OS.