Background Thread → UI 업데이트
Main Thread → Network 요청
스레드 간 코루틴 분산 오케스트레이터 (스레드 및 스레드풀 추상화 계층)
val task = GlobalScope.async {
doSomething()
}
task.join()
if (task.isCancelled) {
val exception = task.getCancellationException()
println("오류: ${exception.cause}")
} else {
println("오류없이 성공")
}
val task = GlobalScope.async {
doSomething()
}
task.await()
println("성공")
launch: fire-and-forget 컨셉
val task = GlobalScope.launch {
doSomething()
}
task.join()
println("완료")