• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

waitGroup.Done을 지연 시키는 방식

23.05.17 09:39 작성 조회수 265

0

안녕하세요. 강사님~! 여러 개념을 쉽게 설명해주셔서 재밌게 듣고 있습니다. ^^

코드를 찾아보다 다음과 같은 케이스를 보았는데요. 저 방식을 제대로 해석한 것인지 질문드립니다.

func main() {
  waitGroup := sync.WaitGroup{}
  waitGroup.Add(1)
  defer waitGroup.Done()
  // Goroutine 처리
  waitGroup.Wait()
}
  • defer는 해당 함수가 비정상 종료 되었을 때도 수행한다.

  • 내부 Goroutine에서 Done을 알리지 못했을 때도 Done 호출을 보장하기 때문에 자원 회수를 할 수 있다.

답변 1

답변을 작성해보세요.

0

네 맞습니다.

그래서 예외처리를 항상 신경써줘야 하는 것 같습니다.(defer 사용 시)

감사합니다.