job
launch는 job을 반환한다. job 객체를 통해 launch가 종료될 때까지 기다릴 수 있다. 반환받은 job을 따로 실행하지 않아도 원래의 launch처럼 실행된다. job.join()가 없다면 Hello 이후 Done 이후 job이 실행되지만 job.join()을 통해 Hello 이후 job이 종료될 때까지 기다렸다가 종료되고 Done이 나온다.
val job = launch { // launch a new coroutine and keep a reference to its Job
delay(1000L)
println("World!")
}
println("Hello")
job.join() // wait until child coroutine completes
println("Done")
Coroutines ARE light-weight
https://kotlinlang.org/docs/coroutines-basics.html#coroutines-are-light-weight
굉장히 많은 코루틴을 만들 수 있다.
'Kotlin > 공부노트' 카테고리의 다른 글
Coroutine - 5. suspending function, async (0) | 2022.04.04 |
---|---|
Coroutine - 4. Cancel, isActive (0) | 2022.03.24 |
Coroutine - 2. Structured concurrency, suspend, coroutineScope (0) | 2022.03.12 |
Coroutine - 1. launch, runBlocking, delay (0) | 2022.03.10 |
댓글