Hallo. Und willkommen. In dieser Lektion lernen Sie etwas darüber die Grundlagen von Coroutinen. Also, was sind Koroutinen und warum brauchen wir sie? Mit anderen Worten, was ist das Problem? Das Problem in der Softwareentwicklung ist also der Zeitdruck. Es sind schwere Berechnungen, es ist eine große Bandbreite, es ist langsame Verarbeitung und Verzögerungen. Also der Zweck in Koroutinen für Kotlin. Und der Grund, warum Kotlin und Entwickler Coroutinen erstellt haben ist es, die Verzögerungen zu umgehen. Coroutines ist also ein mehrgleisiger Multi-Thread-Ansatz zu einer digitalen Mauer. Okay, also wenn eine Anwendung gestartet wird wie dieses onCreate, Das erste, was passiert, sind die onCreate-Builds ein Standardthread, und dieser Thread wird als Hauptthread bezeichnet. Und dieser Hauptthread läuft großartig wenn es leichte Operationen durchführt, wie der Benutzer auf eine Schaltfläche klickt oder jede Art von Benutzerinteraktion. Und es funktioniert großartig, wenn es um einfache mathematische Berechnungen geht Operationen oder einfache logische Operationen. Aber das Problem tritt auf, wenn der Thread stößt eine schwere Operation, wie gegen das Internet anzutreten, vielleicht ein langsames Netzwerk, oder es muss eine Datei aus einer Datenbank geholt werden, dann muss es alle Daten analysieren und alle Daten indizieren. Vielleicht muss es eine Datenbankabfrage ausführen oder es lädt oder lädt eine Art Bild herunter das Internet oder der Server von jemand anderem, oder es lädt nur eine riesige Datenmenge herunter. Wenn wir also diese schweren Operationen haben, Der Thread wird blockiert und das wird es bewirken, dass unsere App dort hängt. Und dann wird der Benutzer frustriert, weil sie wissen nicht, was los ist. Sie wissen nur, dass ihre App blockiert ist. Die App wird langsamer. Und wenn es lange dort hängt, schließlich könnte es abstürzen. Was tun wir also, um dieses Problem zu lösen? Wir müssen es entsperren, und hier kommen Coroutinen ins Spiel. Zum Beispiel eine Möglichkeit, wie sich eine Coroutine herumbewegt Dieses Problem wird als Ausführungsblockierung bezeichnet. Eine andere Möglichkeit besteht darin, den Thread in den Schlafmodus zu versetzen. Um dieses Problem zu umgehen, Was wir tun müssen, ist, einen weiteren Thread zu erstellen, vielleicht ein Hintergrund-Thread oder Multi-Threads, Aber wir müssen vorsichtig sein, weil wir all diese Threads erstellen verbraucht viel Computerspeicher. Und wenn Ihr Gerät keinen Speicher mehr hat, ist das alles, es wird abstürzen. Also haben die Leute bei Kotlin Koroutinen erfunden, und Sie können diese Coroutine ausführen jede lang andauernde Aufgabe, die umfangreiche Berechnungen erfordert. Und Sie können auch Coroutinen aufrufen, die ausgesetzt werden können damit Sie diese schweren Aufgaben ausführen können ohne den Hauptfaden zu stören und all deinen Speicher aufbrauchen. Was genau ist also eine Coroutine? Coroutine ist im Wesentlichen ein sehr leichter Thread, den Sie aussetzen können oder auf anderen Threads laufen. Wenn also die Coroutine ausgesetzt wird, Alle diese Berechnungen werden angehalten und entfernt aus dem Thread, der den Speicher verbraucht. Und dann kann dieser Thread freigegeben werden und für andere Zwecke verwendet werden. Und es wird sich nicht in dein Gedächtnis fressen. Diese Coroutinen können gleichzeitig ausgeführt werden, wie wir hier sehen, wie wir Job eins und Job zwei starten, Job drei und Job vier gleichzeitig. Und diese Koroutinen können miteinander kommunizieren und sogar warten, bis ein anderer fertig ist. Diese Coroutinen arbeiten alle zusammen als eine Einheit getrennte Aufgaben erledigen. Coroutinen können also pausieren oder verzögern, und dann fortsetzen, wann Sie es wollen. Sie können die vollständige Kontrolle darüber haben, wann die Coroutine startet und stoppt und pausiert indem Sie ihm Fristen und Zeitparameter geben. So können wir einen Job oder eine Coroutine annehmen, und starte es und stoppe es und pausiere es und setze es fort und stornieren Sie es jederzeit, wenn wir wollen. Also, einige wichtige Konzepte in der Koroutine ist das Konzept des Geltungsbereichs. Jede Coroutine hat ihren eigenen Geltungsbereich, mit dem wir umgehen können. Einige Coroutinen oder global. Andere Coroutinen werden nur in einem lokalen Bereich aufgerufen. Ein weiteres wichtiges Konzept innerhalb von Koroutinen ist der Kontext dieser Koroutine. Was sind die Variablen und was sind die Eingaben und was ist die Daten innerhalb der Coroutine, die eine Coroutine ergibt sein Charakter, sein Make-up? All dies wird als Koroutinenkontext bezeichnet. Ein weiteres wichtiges Konzept der Koroutine So kann es ausgesetzt werden. Führen wir die ganze Routine durch? Was kann diese Routine ausgesetzt werden, wie wir sie nennen? Ein weiteres wichtiges Konzept von Coroutinen ist der Job, oder die Aufgabe, die gerade ausgeführt wird. Jobs sind eine Möglichkeit, unsere Aufgaben zu verwalten und Verwaltung unserer Coroutinen, weil wir einer Koroutine vielleicht einige Parameter übergeben wollen, und dann die zu verwendenden Parameter zurückgeben für den nächsten Job. Okay, das sind also die grundlegenden Konzepte der Funktionalität, die wir für Coroutinen benötigen. Damit ist unsere Lektion über die Grundlagen von Koroutinen abgeschlossen. Danke fürs zuschauen. Seien Sie gespannt auf die nächste Lektion. So lass uns gehen.