Kapitel 7. Coroutinen-Konzepte

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Im vorherigen Kapitel hast du die Fallstricke des Threading-Modells kennengelernt. Als Alternative zum Threading-Modell gibt es in Kotlin eine Bibliothek namenskotlinx.coroutines, die die oben genannten Einschränkungen beheben soll. Coroutine-fähige Primitive ermöglichen es Entwicklern, sequenziellen, asynchronen Code zu geringen Kosten zu schreiben. Das Design von Coroutines umfasst suspendierende Funktionen, strukturierte Gleichzeitigkeit und andere spezifische Überlegungen wie Coroutine-Kontext und Coroutine-Scope. Die Themen sind eng miteinander verbunden. Wir werden jede einzelne dieser Überlegungen schrittweise und leicht verständlich behandeln.

Was genau ist eine Coroutine?

In der offiziellen Kotlin-Dokumentation werden Coroutines als "leichtgewichtige Threads" bezeichnet, um ein bestehendes und bekanntes Paradigma zu nutzen. Du kannst dir Coroutines als Codeblöcke vorstellen , die an nicht blockierende Threads weitergeleitet werden können.

Coroutines sind in der Tat leichtgewichtig, aber es ist wichtig zu wissen, dass Coroutines selbst keine Threads sind. Tatsächlich können viele Coroutines auf einem einzigen Thread laufen, obwohl jeder einen eigenen Lebenszyklus hat. In diesem Abschnitt wirst du sehen, dass sie eigentlich nur Zustandsmaschinen sind, wobei jeder Zustand einem Codeblock entspricht, der irgendwann ...

Get Android mit Kotlin programmieren now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.