여러분들은 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기 째 운영하며 많이 성장 했습니다. 만약 코루틴을 제대로 알고 사용하고 싶다면 이 책을 강추합니다!
인프런에 온라인 강의도 있습니다
코틀린 코루틴 완전 정복| 조세영 - 인프런 강의
현재 평점 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
'개발 > 코틀린' 카테고리의 다른 글
Kotlin object와 Gson의 오해 (1) | 2023.08.03 |
---|---|
(Coroutine) asStateFlow()를 써야할까요? (0) | 2023.07.28 |
(Test) Junit에서 isEqualTo 와 isSameAs (0) | 2023.06.17 |
(Coroutine) Flow flatMapConcat, flatMapLatest, flatMapMerge (0) | 2023.06.14 |
(코틀린) Testing with Kotest (0) | 2022.12.18 |