delay

Language/Kotlin

Blocking vs Suspending 차이점

이번에는 Thread에서 전통적으로 사용하는 sleep(blocking)과 Coroutines에서 사용하는 delay(suspending)의 차이에 대해 적어본다. Thread의 blocking 먼저 스레드로 blocking하는 예시를 보도록 하자. fun main() { println("main starts") threadRoutine(1, 500) threadRoutine(2, 300) Thread.sleep(1000) println("main ends") } fun threadRoutine(number: Int, delay: Long) { thread { println("thread $number starts work") Thread.sleep(delay) println("thread $number..

Language/Kotlin

Suspend function 짧은 소개

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 funct..

BonusTrack02.dev
'delay' 태그의 글 목록