send는 값을 채널로 이동시키고 수신자를 새 소유자로 만든다
값을 보낸 뒤 송신 스레드에서 다시 쓰지 못하는 이유는 메시지가 다른 스레드의 소유가 되었기 때문이다.
보내기 전 사용 가능
채널 큐로 들어감
새 소유자
컴파일러가 차단
| 구분 | 의미 | 판단 |
|---|---|---|
| 복사 타입 | Copy이면 사본 전달 가능 | 원본 사용 가능 |
| String | move 발생 | 원본 사용 불가 |
| 오류 | 수신자 drop | SendError로 값 회수 가능 |
핵심 채널 메시지는 공유 메모리가 아니라 소유권 이동으로 안전을 만든다.