Updated:

less than 1 minute read

개요

  • 소유권과 타입 시스템이 메모리 안전성 및 동시성 문제를 관리하는 것을 돕기 위한 강력한 도구들의 집합
  • 많은 동시성 에러들이 런타임이 아닌 컴파일 시점에 감지 가능
  • thread::spawn 함수를 이용
    • 반환 타입
    • JoinHandle


예제

  • 코드
    •  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