티스토리 뷰

Programming Language/Go

[Go] 타임아웃 처리

SdardewValley 2022. 1. 1. 10:00
반응형

타임아웃

  시간이 오래 걸리는 작업에 select문을 사용하여 타임아웃 기능을 쉽게 구현할 수 있다. 

 

타임아웃 처리 코드
time.After 함수

  time.After은 채널을 리턴한다. 이 채널은 인자로 받은 시간이 지난 뒤 리턴한 채널로 실제 시간을 전달한다.

  select를 사용하여 done 채널과 timeout 채널 case로 done 채널이 timeout 채널보다 먼저 data를 보내면 제 시간 안에 작업이 완료 된 것, 아니면 시간 초과가 난것이다.

 

  타임아웃이 난 작업을 처리를 해 줘야 한다. 시간 초과가 발생했을 때 아무처리도 안할 수 있지만, 만약 작업이 리소스를 많이 사용한다면 작업을 종료하는 것이 좋다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함