inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

2시간으로 끝내는 코루틴

코루틴 Job 상속에 관하여 질문드려요

해결된 질문

302

정다운

작성한 질문수 1

1

안녕하세요 강사님~ 좋은 강의 너무 감사드립니다. 덕분에 코루틴 입문을 쉽게 할 수 있었습니다.

다름이 아니라 강사님 강의를 완강하고나서 코루틴 관련 책을 보고 있는데요,

Job은 자식에게 상속되지 않는 유일한 코루틴 컨텍스트라는 내용이 있네요.

이곳저곳 더 찾아보니 부모 코루틴을 기반으로 고유한 Job을 갖는다는 내용이 있는데 정확히 이게 어떤 의미인지 모르겠어서 질문을 드립니다!

kotlin coroutine

답변 1

2

최태현

안녕하세요, 다운님! 크으~ 강의를 모두 보시고 책까지 보고 계시는군요! 대단하십니다. 👍 😊

 

질문 주신 내용에 빠르게 답변 드려 보자면,

<7강. CoroutineScope과 CoroutineContext>의 이 장면을 떠올려 보시면 이해가 쉽습니다!

image

CoroutineContext 란, 코루틴이 갖고 있는 여러가지 속성을 의미하는데요! 예를 들면, 어떤 Dispatcher에 의해 처리될 것인지 어떤 이름을 갖고 있는지 등을 의미합니다. 그리고 여기에 코루틴 (=Job)도 CoroutineContext로 처리되고 있지요! 즉, 코루틴의 정보를 나타내는 CoroutineContext의 종류에는 코루틴 그 자체도 포함된다. 라고 이해하시면 됩니다.

 

그리고 이 코루틴에서 자식 코루틴이 생길 때 위의 그림에서 보시는 것처럼 몇 가지 속성을 상속받을 수 있습니다. 예를 들어, 위의 경우는 동일한 Dispatchers.Default 를 갖고 있도록 상속 받았죠! 👍

 

여기까지 이해하셨다면 이 문장을 다시 한 번 보겠습니다!

  • "Job은 자식에게 상속되지 않는 유일한 코루틴 컨텍스트"

 

이 문장을 해석해보면

  1. 자식 코루틴이 생길 때 부모 코루틴으로부터 몇 가지 속성 (CoroutineContext)를 상속 받을 수 있는데

  2. 부모 코루틴 (= 부모 Job) 과 자식 코루틴 (= 자식 Job)은 다르므로

  3. 부모 Job을 자식에게 상속할 수가 없다 (= 자식이 생기면 고유한 Job을 갖게 된다)

로 이해할 수 있겠네요!

 

 

제가 해당 책의 전후 맥락을 살펴본 것은 아니라 문장에 대한 해석만 말씀드려 보았지만, 아마 이런 의미로 적혀 있는게 아닌가 싶습니다! 🙂

답변이 도움이 되었으면 좋겠습니다. 감사합니다! 🙇

2

정다운

빠른 답변 감사드려요!!!👍👍

Dispatchers 별 차이점 관련 질문

0

93

1

코루틴과 가상 스레드의 차이가 궁금합니다.

1

311

2

Coroutine과 ThreadLocal관련 질문

0

154

2

선생님 강의를 듣고 크롤링에 코루틴을 적용해보고 있습니다. 그런데 코루틴이 하나만 나와서 동시처리가 안되는데 혹시 봐주실 수 있나요??

1

115

1

7강에 대해서 궁금증이 있는데요

1

117

2

Spring MVC에서 corountine 활용 방안

1

540

1

9강 코루틴 중단과 재개관련 문의 드립니다.

0

124

2

suspend 함수에 관해 추가적인 질문 있습니다! (runcatching, Result)

0

126

1

간단 질문.. join() vs delay()

0

158

2

코루틴을 잘 사용하고 있는지 궁금합니다.

0

196

1

CoroutineScope & Dispatcher 질문

0

161

2

async await 관련 질문

1

137

2

코루틴 실행 순서 궁금합니다.

1

232

2

corutine task에 대한 질문

1

195

2

completing의 존재의의가 궁금합니다.

1

161

1

코루틴 dispatcher IO관련 질문

0

187

1

Job 질문이 있습니다

1

204

1

스프링 MVC 환경에서의 코루틴

1

2096

1

자식1, 2와 부모코루틴의 관계

1

225

1

한 suspend fun 의 반환값이 다른 suspend fun의 파라미터로 쓰일 때

1

329

2

delay 함수에 대해 질문이 있습니다

1

394

1

runBlocking을 사용하는 경우가 있을까요?

0

400

1

delay가 없으면 실행 안 되는 이유

0

295

1

코루틴 스코프

0

313

1