728x90
반응형
suspend function은 다른 suspend function이나 Coroutine에서만 호출될 수 있다.
일반적인 코드에서 suspend function을 호출하려면 새 코루틴을 시작해야한다.
이렇게 만들어진 코루틴에서는 suspend function과 일반 함수를 모두 호출할 수 있다.
suspend fun someMethod(delay: Long) {
println("starts method")
delay(delay)
println("ends method")
}
위 함수에서 suspend function이 실제로 suspend될 수 있는 지점은 어디일까?
바로 delay() 부분인데 더 길고 복잡한 suspend function이 있다면
그 함수가 포함하고 있는 모든 suspend function 호출 지점에서 suspend 될 수 있다.
안드로이드 스튜디오에서는 위와 같은 아이콘으로 표시되는 녀석들이 있는데 이들이 바로 suspend function이다.
728x90
반응형
'Language > Kotlin' 카테고리의 다른 글
Coroutines의 내부 동작 (0) | 2024.03.07 |
---|---|
Coroutines을 다른 스레드에서 실행하기 (0) | 2024.03.03 |
Blocking vs Suspending 차이점 (0) | 2024.03.01 |
Thread와 Coroutines 비교 (0) | 2024.02.22 |
Android에서 Kotlin을 사용할 때 이점(JetBrains피셜) (0) | 2022.08.18 |