18.1 Threads
Rust가 제공하는 spawn
함수를 통해 네이티브 OS의 쓰레드를 생산
하는 메커니즘을 제공하며, 이 함수의 인자는 moving closure이다.
use std::thread; static NTHREADS: i32 = 10; // 메인 함수는 `main` thread fn main() { // 생성되는 쓰레드 결과물을 관리할 벡터를 만든다. let mut children = vec![]; for i in 0..NTHREADS { // 또 다른 쓰레드들을 돌아가며 수행. children.push(thread::spawn(move || { println!("this is thread number {}", i) })); } for child in children { // 쓰레드가 종료될 때까지 기다렸다 결과 반환. let _ = child.join(); } }
이 쓰레드들은 OS에 의해 조정될 것이다.