Was ist der Unterschied zwischen launch/join und async/await in Kotlin Coroutines?
Hallo zusammen! Ich habe angefangen, Coroutines in Kotlin zu lernen und bin bei zwei Ansätzen verwirrt: launch/join und async/await. Anscheinend ermöglichen beide, Aufgaben parallel auszuführen und auf deren Abschluss zu warten, aber ich verstehe nicht, wann man was verwenden soll.
Ich habe ein einfaches Beispiel: Ich muss zwei Dateien herunterladen und sie zusammenführen. Ich habe beide Methoden ausprobiert, aber die Ergebnisse sind unterschiedlich.
Die erste Methode mit launch/join:
```kotlin
fun main() = runBlocking {
var result1 = ""
var result2 = ""
val job1 = launch {
delay(1000)
result1 = "File1 content"
}
val job2 = launch {
delay(1000)
result2 = "File2 content"
}
job1.join()
job2.join()
println("$result1 $result2")
}
```
Die zweite Methode mit async/await:
```kotlin
fun main() = runBlocking {
val deferre