Kotlin/launch関数
複数のlaunchを使うことで同時実行できる
launch関数の中で、関数を呼び出すとき
coroutine scope内で全ての処理を完結させる必要がある
正常終了でも異常終了でも
例
code:kotlin
suspend fun printForecast() {
delay(100)
println("Sunny")
}
suspend fun printTemperature() {
delay(100)
println("30C")
}
fun main() {
runBlocking {
println("Weather forecast")
launch {
printForecast()
}
launch {
printTemperature()
}
println("Have a good day!")
}
}
出力は"Have a good day!"の出力、printForecast()の出力、printTemperature()の出力、の順になる
これは、launch() の「ファイア アンド フォーゲット(撃ちっぱなし)」の性質を表しています。launch() で新しいコルーチンを起動します。処理がいつ終了するのかを気にする必要はありません。
参考