18 채널(Channel)
메시지 전송
select문을 사용해 채널 데이터 수신을 하는 실습을 해봅니다. 실습 내용은 10초안에 메시지를 입력해 발송하고 발송된 메시지 내용을 확인하는 것입니다.
sendMessage() 함수를 이용해 사용자에게 메시지를 입력받고 데이터를 채널에 송신합니다. default문을 활용해 데이터가 송신되지 않았다면 1초마다 "(남은 시간)초안에 메시지를 입력하세요."를 출력합니다. 시간이 종료되면 "메시지 발송에 실패했습니다."를 출력하고 프로그램을 종료합니다. 사용자가 입력하고 메시지가 송신됐다면 case문을 활용해 "(메시지 내용) 메시지가 발송되었습니다."를 출력하고 프로그램을 종료합니다.
이렇게 select문의 default 키워드를 사용하면 main() 함수의 루틴에서 데이터가 송신되지 않고도 데드락이 걸리지 않습니다. 이를 실습해봅니다.