BackEnd/coroutine

지연 Coroutine

hanseom 2025. 5. 31. 03:00
반응형

지연 Coroutine

  • 지연 코루틴이란 즉시 실행 요청되지 않는 코루틴입니다.
  • launch 함수의 start 인자로 CoroutineStart.LAZY를 넘기면 지연 코루틴이 생성됩니다.
  • 지연 코루틴은 start 함수나 join 함수를 호출하면 실행됩니다.
  • 즉시 실행만 원하면 start 함수를, 실행과 동시에 끝날 때까지 기다리려면 join 함수를 호출하면 됩니다.
import kotlinx.coroutines.*

fun main() = runBlocking<Unit> {
  val startTime = System.currentTimeMillis()
  val lazyJob: Job = launch(start = CoroutineStart.LAZY) {
    println("[${getElapsedTime(startTime)}] launch 코루틴 지연 실행")
  }
  delay(3000L) // 3000밀리초간 대기
  lazyJob.start() // 코루틴 실행 lazyJob.join()을 호출해도 실행됨
}


fun getElapsedTime(startTime: Long): String =
  "지난 시간: ${System.currentTimeMillis() - startTime}밀리초"

 

반응형
댓글수0