작성
·
390
0
안녕하세요. 강사님~! 여러 개념을 쉽게 설명해주셔서 재밌게 듣고 있습니다. ^^
코드를 찾아보다 다음과 같은 케이스를 보았는데요. 저 방식을 제대로 해석한 것인지 질문드립니다.
func main() {
waitGroup := sync.WaitGroup{}
waitGroup.Add(1)
defer waitGroup.Done()
// Goroutine 처리
waitGroup.Wait()
}
defer는 해당 함수가 비정상 종료 되었을 때도 수행한다.
내부 Goroutine에서 Done을 알리지 못했을 때도 Done 호출을 보장하기 때문에 자원 회수를 할 수 있다.