[Coroutine] 일시 중단 함수(suspend)
업데이트:
일시 중단 함수
launch(), asyc() 과 같은 코루틴 빌더를 사용하여 블록 안에 일시 중단 코드(람다) 를 작성할수 있지만 함수 자체에서 일시 중단 코드를 작성할 수 있다. 이를 일시 중단 함수라고 부른다.
일시 중단 함수를 만들려면 시그니쳐에 suspend 제어자만 추가하면 된다.
suspend fun greetDelayed(delayMills : Long) {
delay(delayMills)
println("Hello world")
}
비 일시 중단 코드에서 함수를 호출하려면 다음 예와 같이 코루틴 빌더로 감싸야 한다.
fun main() {
runBlocking {
greetDelayed(5000)
}
}
Reference
코틀린 동시성 프로그래밍(에이콘)
댓글남기기