1
thread::spawn
클로저를 새 운영 체제 스레드에서 실행하도록 예약한다.
새 스레드는 실행 순서가 보장되지 않는다. 안전한 사용은 값의 이동, 핸들 보관, 명시적 합류 지점을 분리해 읽는 데서 시작한다.
클로저를 새 운영 체제 스레드에서 실행하도록 예약한다.
스레드가 쓸 값을 빌리지 않고 클로저 안으로 이동시킨다.
생성된 스레드와 나중에 합류할 수 있는 소윳값을 보관한다.
현재 스레드를 멈추고 생성된 스레드가 끝날 때까지 기다린다.
메인 스레드가 끝나면 생성된 스레드도 끝까지 실행되지 못할 수 있다.
스케줄링은 운영 체제가 결정하므로 출력이나 실행 순서는 매번 다를 수 있다.
같은 값을 여러 스레드가 동시에 다루면 경합 조건과 수명 문제가 생길 수 있다.
클로저가 필요한 값을 소유하면 다른 스레드에서 무효 참조를 들고 출발하지 않는다.
핸들을 저장하고 join을 호출해야 생성된 스레드가 끝났음을 확인할 수 있다.