강의

멘토링

커뮤니티

Inflearn Community Q&A

evanhwang's profile image
evanhwang

asked

GO Language Programming Core Basics Introduction Course, Easy and Quick to Complete

Advanced Goroutine Synchronization

waitGroup.Done을 지연 시키는 방식

Written on

·

444

0

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

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

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

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

go

Answer 1

0

niceman님의 프로필 이미지
niceman
Instructor

네 맞습니다.

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

감사합니다.

evanhwang's profile image
evanhwang

asked

Ask a question