Rust · channel

send 이후 소유권 이동 타임라인

값을 채널로 보내면 송신 스레드는 더 이상 그 값을 사용할 수 없고, 수신자가 새 소유자가 됩니다.

채널 이동 단계

mpsc

producer thread

메시지 값을 생성하고 소유합니다.

tx.send(val)

값을 채널 안으로 이동시킵니다.

val invalid

보낸 뒤 sender 쪽 변수는 사용할 수 없습니다.

channel buffer

수신 전까지 메시지를 보관합니다.

receiver

recv가 값을 꺼내 새 소유권을 얻습니다.

create val send moves sender invalid recv new owner

send 이후 소유권 이동 타임라인 정리

Rust 채널은 데이터를 복사해서 공유하는 것이 아니라 스레드 사이 소유권 이동을 타입 시스템으로 강제합니다.