Kapitel 9. Kanäle

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 gelernt, wie man Coroutines erstellt, sie abbricht und mit Ausnahmen umgeht. Wenn Aufgabe B das Ergebnis von Aufgabe A benötigt, kannst du sie als zwei Suspending-Funktionen implementieren, die sequentiell aufgerufen werden. Was ist, wenn Aufgabe A einen Strom von Werten erzeugt?async und Suspending-Funktionen passen nicht zu diesem Anwendungsfall. Dafür sind die Channels1 dafür gedacht, Coroutines kommunizieren zu lassen. In diesem Kapitel erfährst du im Detail, was Kanäle sind und wie man sie benutzt.

Mit nichts anderem als Kanälen und Coroutines können wir komplexe asynchrone Logik mit communicating sequential processes (CSP) entwerfen. Was ist CSP? Kotlin wurde von mehreren bestehenden Programmiersprachen inspiriert, z. B. Java, C#, JavaScript, Scala und Groovy. Vor allem Go (die Sprache) hat mit seinen"Goroutines" Coroutines inspiriert.

In der Informatik ist CSP eine nebenläufige Programmiersprache, die erstmals 1978 von Tony Hoare beschrieben wurde. Seitdem hat sie sich ständig weiterentwickelt, und der Begriff CSP wird heute hauptsächlich zur Beschreibung eines Programmierstils verwendet. Wenn du mit dem Actor-Modell vertraut bist, ist CSP ziemlich ähnlich - auch wenn es einige Unterschiede gibt. Wenn du noch nie etwas von CSP gehört hast, keine Sorge - wir werden dir die Idee dahinter kurz ...

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.