producer thread
메시지 값을 생성하고 소유합니다.
값을 채널로 보내면 송신 스레드는 더 이상 그 값을 사용할 수 없고, 수신자가 새 소유자가 됩니다.
메시지 값을 생성하고 소유합니다.
값을 채널 안으로 이동시킵니다.
보낸 뒤 sender 쪽 변수는 사용할 수 없습니다.
수신 전까지 메시지를 보관합니다.
recv가 값을 꺼내 새 소유권을 얻습니다.
Rust 채널은 데이터를 복사해서 공유하는 것이 아니라 스레드 사이 소유권 이동을 타입 시스템으로 강제합니다.