메시지가 올 때까지 현재 스레드를 멈춤
예제 15-8처럼 받은 값을 바로 출력할 때는 기다림 자체가 프로그램의 의도입니다.
recv는 기다리고 try_recv는 확인만 한다
두 메서드는 모두 Result로 채널 상태를 알려줍니다.
차이는 메시지가 아직 없을 때 현재 스레드를 멈추는지에 있습니다.
rx.recv()예제 15-8처럼 받은 값을 바로 출력할 때는 기다림 자체가 프로그램의 의도입니다.
더 이상 도착할 값이 없음을 Err로 알려 수신자가
닫힌 채널을 구분하게 합니다.
rx.try_recv()메시지가 없는 동안 계산, 화면 갱신, 다른 입력 확인 같은 일을 계속할 수 있습니다.
루프에서 Ok만 처리하고, 값이 없을 때는 다음 검사까지
다른 작업을 배치합니다.
Ok(value)
채널에서 소유권이 이동한 값을 받았습니다.
Err with empty
try_recv에서 아직 도착한 메시지가 없습니다.
Err with closed
송신자가 모두 사라져 더 받을 값이 없습니다.
이 절의 단순한 hi 예제는 recv로 충분합니다.
여러 일을 섞는 수신 루프를 만들 때만 try_recv의 즉시 반환
특성이 의미를 갖습니다.