import kotlinx.coroutines.*

fun main() = runBlocking {
    launch { // 백그라운드에서 새 코루틴 시작
        delay(1000)
        println("World!")
    }
    println("Hello")
}

출력결과

Hello
World!

// 1초후에 World!가 출력됨

구조화된 동시성

함수 추출해 리펙토링하기

import kotlinx.coroutines.*

fun main() = runBlocking {
    launch { doWorld() }
    println("Hello")
}

suspend fun doWorld() {
    delay(1000)
    println("World!")
}

Scope Builder

import kotlinx.coroutines.*

fun main() = runBlocking {
    doWorld()
}

suspend fun doWorld() = coroutineScope{
    launch {
        delay(1000L)
        println("World!")
    }
    println("Hello")
}

Scope Builder와 동시성