• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

굳이 고루틴이 필요없는거 같은데 고루틴으로 실행하는 이유가 있을까요?

22.06.30 08:21 작성 조회수 118

0

안녕하세요.
 
오픈소스를 보면 `sync.WaitGroup`의 wait를 고루틴으로 대기하는 코드가 많은데
굳이 이렇게 하는 이유가 있는걸까요?
 
	go func() {
		wg.Wait()
	}()

답변 1

답변을 작성해보세요.

1

네 안녕하세요.

좋은 질문이예요.

비동기, 즉, 특정 시점에 실행 순간대기하고 다른 작업으로 재빠르게 제어권을 전달해서

작업이 끊기지 않고 흐름이 지속될 수 있도록 최대한 한 개의 스레드를 극대화에서 활용하는 것이라고

볼 수 있어요.

즉, 대기를 하는 것이 아니라, 잠깐 대기 후 다른 작업 완료 후 -> 즉시 복귀

이런 개념을 접근하시면 좋을 것 같아요.