• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

24.02.18 03:12 작성 조회수 120

0

안녕하세요! 좋은 강의 잘 듣고 있습니다.😄

5강 수강 중인데, 여기에서

fun lec05Example2(): Unit = runBlocking {
    val job = CoroutineScope(Dispatchers.Default).launch {
        throw IllegalArgumentException()
    }

    delay(1_000L)
}

delay(1_000L) 부분이 없으면 위의 예외 던지는 코루틴을 실행을 안 하던데 왜 그런지 이유를 잘 모르겠습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요 유정님! 질문 주셔서 감사합니다! 😊

runBlocking 을 사용했지만, 새로운 CoroutineScope 을 만든 후 그 안에서 코루틴을 만들고 있기 때문에, 그냥 바로 runBlocking 안에서 코루틴을 만드는 것과 달리 어느정도 main thread를 대기 시켜주어야 합니다!

그래서 delay() 부분을 넣어주었습니다! 👍 답변이 도움이 되었으면 좋겠네요!!