개요
- 소유권과 타입 시스템이 메모리 안전성 및 동시성 문제를 관리하는 것을 돕기 위한 강력한 도구들의 집합
- 많은 동시성 에러들이 런타임이 아닌 컴파일 시점에 감지 가능
thread::spawn 함수를 이용
예제
- 코드
-
use std::thread;
use std::time::Duration;
fn main() {
println!("main start");
let handle1 = thread::spawn(|| {
println!("thread start");
thread::sleep(Duration::from_secs(1));
println!("thread end");
});
let v = vec![1, 2, 3];
let handle2 = thread::spawn(move || {
println!("{:?}", v);
});
handle1.join().unwrap();
handle2.join().unwrap();
println!("main end");
}
- 실행 결과
-
main start
thread start
[1, 2, 3]
thread end
main end