0Pricing
Swift Academy · Lektion

Strukturierte Nebenläufigkeit, asynchrone Funktionen

Definieren Sie async -Funktionen, rufen Sie sie mit await auf und verstehen Sie structured concurrency : Unteraufgaben werden abgeschlossen, bevor der übergeordnete Gültigkeitsbereich verlassen wird.

Strukturierte Nebenläufigkeit, asynchrone Funktionen ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 3 Lektionen.

Warum async/await?

Mit async/await können Sie asynchronen Code schreiben, der sich wie synchroner Code liest. Bei strukturierter Nebenläufigkeit sind untergeordnete Tasks an die Lebensdauer ihres Gültigkeitsbereichs gebunden – es entstehen keine Leaks.

Ihre erste asynchrone Funktion

Eine async-Funktion kann auf andere asynchrone Arbeit mit await warten. Erstellen Sie in Skripten oder Playgrounds einen Task, um sie aufzurufen.

// Simulate a short async delay, then return a value
func fetchNumber() async -> Int {
    try? await Task.sleep(nanoseconds: 200_000_000) // ~200ms
    return 42
}

// Call sites must use "await" from an async context or a Task
Task {
    let n = await fetchNumber()
    print("Fetched:", n)  // 42
}

Anhalten und Fortsetzen

await hält den Task an, bis das Ergebnis bereitsteht. Anschließend wird die Ausführung sauber in der nächsten Zeile fortgesetzt.

func greet(after seconds: Double) async -> String {
    let ns = UInt64(seconds * 1_000_000_000)
    try? await Task.sleep(nanoseconds: ns)
    return "Hello after \(Int(seconds))s"
}

Task {
    print(await greet(after: 1.0))
    print("Back on the same task after await.")
}

Grundlagen von async let

Verwenden Sie async let, um untergeordnete Tasks zu starten. Sie gehören zum aktuellen Gültigkeitsbereich und müssen vor dessen Ende mit await abgewartet werden.

// Run child tasks concurrently within the same scope
func fetchUser() async -> String { "Ana" }
func fetchScore() async -> Int { 90 }

Task {
    async let name = fetchUser()
    async let score = fetchScore()
    // Both start immediately; await joins them before use
    let summary = await "\(name): \(score)"
    print(summary) // "Ana: 90"
    // Scope ends -> child tasks are awaited automatically (structured)
}

Eltern warten auf ihre Kinder

Strukturiert bedeutet, dass übergeordnete Tasks nicht vor ihren untergeordneten Tasks beendet werden können. Das verhindert verwaiste Arbeit und macht Lebensdauern vorhersehbar.

// Parent Task encapsulates children lifetimes
func loadProfile() async -> String {
    async let name = fetchUser()
    async let score = fetchScore()
    return await "\(name) (\(score))"
}

Task {
    let profile = await loadProfile()
    print(profile) // e.g., "Ana (90)"
    // loadProfile does not return until its children are done
}

Richtlinien

Tipps:

  • Denken Sie in Tasks, nicht in Threads.
  • Verwenden Sie async let für gleichgeordnete Arbeit und rufen Sie vor dem Ende des Gültigkeitsbereichs await auf.
  • Verwenden Sie für Demonstrationen Task.sleep; in echten Apps warten Sie asynchron auf Netzwerk- oder Datei-I/O.

Definition von await

Kurztest: Was bewirkt await?

Zusammenfassung

Zusammenfassung: Kennzeichnen Sie Funktionen mit async und rufen Sie sie mit await auf. Verwenden Sie async let, um gleichgeordnete Tasks zu starten, und verlassen Sie sich auf strukturierte Nebenläufigkeit, damit untergeordnete Tasks vor ihren übergeordneten Tasks beendet werden.

Häufig gestellte Fragen

Ist die Lektion „Strukturierte Nebenläufigkeit, asynchrone Funktionen“ kostenlos?

Ja — der vollständige Text von „Strukturierte Nebenläufigkeit, asynchrone Funktionen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Strukturierte Nebenläufigkeit, asynchrone Funktionen“?

Definieren Sie async -Funktionen, rufen Sie sie mit await auf und verstehen Sie structured concurrency : Unteraufgaben werden abgeschlossen, bevor der übergeordnete Gültigkeitsbereich verlassen wird. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Swift Academy zu starten?

Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 3.

Wie lange dauert die Lektion „Strukturierte Nebenläufigkeit, asynchrone Funktionen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?

Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Strukturierte Nebenläufigkeit, asynchrone Funktionen
  2. async let, Task und Abbruch
  3. try await und Fehlerweitergabe
← Zurück zu Swift Academy