inflearn logo
강의

講義

知識共有

2時間で終わるコルーチン

CoroutineScope 와 withContext 의 차이를 잘 모르겠습니다.

701

lkckss123

投稿した質問数 6

1

강의를 듣다보면 CoroutineScope 와 withContext 의 차이를 정확히 모르겠습니다. withContext 는 context 에 변화를 줄 수 있어서 withContext(Dispatchers.Default) 이런 식으로 쓴다고 하는데, CoroutineScope 도 동일하게 CoroutineScope(Dispatchers.Default).launch 이런식으로 context 를 설정해줄 수 있는데 어떨 때 CoroutineScope 를 쓰고 어떨 때 withContext 를 쓰는지 잘 모르겠습니다.

kotlin coroutine

回答 1

0

lannstark

안녕하세요! lkckss123님! 질문 남겨 주셔서 감사합니다! 😊

저는 다음과 같이 생각하고 있습니다.

 

CoroutineScope() 은 말 그대로 새로운 코루틴 영역을 생성하는 것입니다. 따라서 기존에는 코루틴을 만들 수 없던 상황에서, 코루틴을 만들고 싶을 때 사용할 수 있죠. 보통은 새로운 코루틴 영역 아래서 여러 코루틴을 실행시켜 한 번에 관리하려 할 때 사용합니다.

 

withContext()기존에 있는 코루틴 영역에서 관리하는 context만 바꾼 코루틴 영역을 만드는 것입니다. 실제로 suspend 함수이기 때문에 또 다른 suspend 함수에서만 실행할 수 있다는 것이 특징입니다. 보통은 기존에 코루틴 영역이 있는데 Dispatcher와 같은 특정 context element만 바꾸고 싶을 때 사용합니다.

 

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

Dispatchers 별 차이점 관련 질문

0

93

1

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

1

310

2

Coroutine과 ThreadLocal관련 질문

0

154

2

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

1

115

1

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

1

116

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

136

2

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

1

232

2

corutine task에 대한 질문

1

195

2

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

1

161

1

코루틴 dispatcher IO관련 질문

0

187

1

Job 질문이 있습니다

1

203

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