Kotlin coroutine suspend? 디컴파일을 통해 알아보자.
Kotlin 코루틴에는 suspend 함수를 활용할 수 있습니다. suspend가 추가되면 코루틴에서 동작하도록 강제하게 되는데 단순 강제만은 아닙니다.
코루틴이 종료되면 suspend 함수 역시 종료되어야 합니다.(suspend를 활용한다고 무조건 종료하는 것은 아닌데, 다음에 별도로 작성해보겠다.)
이번 글은 아래의 suspend 함수를 디컴파일해보고, suspend 키워드가 어떤 일을 하는지 직접 구현해본다면 어떻게 접근 가능할지 살펴보겠습니다.
suspend fun doSomething(): Int {
delay(1000L)
return 100
}
이 글에서 도움 될 문서는 아래와 같습니다.
- Composing suspending functions - Kotlin 문서
- What does the suspend function mean in a Kotlin Coroutine? - Stack overflow
이 글에서 알아볼 내용
- suspend 함수 사용 법
- suspend 함수 디컴파일
- Continuation 살펴보기