본문 바로가기
개발/코틀린

(Coroutine) 나는 Coroutine 동작 순서를 얼마나 잘 아는가?

by DinoDev 2025. 6. 27.
728x90
반응형

여러분들은 CoroutineRaceGuesser Game을 아시나요?

 

만약 처음 보셨다면 여러분들은 이 블로그 글을 만난 것이 정말로 행운입니다.

왜냐면 저도 이것을 알기 전에는 제가 Kotlin Coroutine 동작 순서에 대해 잘 아는줄 알았거든요.

 

몇일 전에 제가 운영하는 스터디의 안드로이드 카카오 단체톡방에 흥미로운 링크가 공유되었습니다. 그것은 바로 Coroutine 동작 순서 퀴즈 였습니다.

저는 Coroutine 스터디를 5기째 운영하고 있어서 쉽게 문제를 풀 것이라 생각했는데 맘처럼 쉽게 풀리지 않아서 아직 많이 부족하고 잘 모르는구나 하고 느꼈습니다.

 

이 코드는 어떤 순서로 동작하나요?

suspend fun main() = coroutineScope {
    delay(2000)
    val value1 = async {
        delay(1000)
        println("B")
        delay(1000)
        "A"
    }
    println("D")
    println(value1.await())
    delay(1000)
}

 

A, B, D는 몇초의 시간을 기다리며 어떤 순서로 출력이 될까요??

정답을 메모장에 작성하고 더보기를 눌러서 확인해보세요.

더보기

2초 delay

D

1초 delay

B

1초 delay

A

1초 delay

(done)

 

생각했던 동작 순서와 일치하나요??

문제가 쉬웠나요? 어려웠나요? 아니면 재미있고 흥미로웠나요??

문제를 더 풀어보고 싶다면 아래 링크로 들어가서 도전해보세요!

https://marcinmoskala.com/CoroutinesRaceGuesser/

 

Coroutines Guesser Game

 

marcinmoskala.com

코루틴 공부를 제대로 하고 싶다면?

저 또한 코루틴을 제대로 알지 못하고 사용했는데 조세영님이 쓰신 코틀린 코루틴의 정석을 읽고, 이 책으로 코루틴 스터디를 5기 째 운영하며 많이 성장 했습니다. 만약 코루틴을 제대로 알고 사용하고 싶다면 이 책을 강추합니다!

 

인프런에 온라인 강의도 있습니다

https://inf.run/S9Do1

 

코틀린 코루틴 완전 정복| 조세영 - 인프런 강의

현재 평점 4.8점 수강생 524명인 강의를 만나보세요. 『코틀린 코루틴의 정석』 저자의 코틀린 코루틴 강의입니다. 이 강의에서는 코루틴에 대한 지식을 기초부터 핵심까지 다룹니다. 코루틴을

www.inflearn.com

[본 게시물은 파트너스 활동의 일환으로 소정의 수수료를 받을 수 있습니다.]

 


그 외에 다른 것들?

Kotlin Coroutine 외에 Compose나 Collection 관련 게임도 있습니다.

https://marcinmoskala.com/ModifierOrderGuesser/

 

ModifierOrderGuesser

 

marcinmoskala.com

 

https://marcinmoskala.com/CollectionProcessingGuesser/

 

CollectionProcessingGuesser

 

marcinmoskala.com

 


블로그 글에 대해 궁금한 점이 있다면 아래 카카오톡 오픈채팅에 들어와서 질문해주세요

 

Android Kotlin Compose QnA

 

open.kakao.com

 

728x90
반응형