Coroutine: Der Teil des Codes, der in Multi-Threaded-Skript angehalten und wieder aufgenommen werden kann, heißt Coroutine. Coroutinen arbeiten kooperativ im Multi-Thread-Programm. Wenn eine Coroutine pausiert, kann eine andere Coroutine ausführen.
Ereignisschleife: Es wird verwendet, um die Ausführung von Coroutinen zu beginnen und Eingangs-/Ausgangsvorgänge zu verarbeiten. Es erfordert mehrere Aufgaben und erledigte sie.
Aufgabe: Die Ausführung und das Ergebnis von Coroutinen werden durch die Aufgaben definiert. Sie können eine Vielzahl von Aufgaben mithilfe der Asyncio -Bibliothek zuweisen und die Aufgaben asynchron ausführen.
Zukunft: Es fungiert als zukünftiger Speicher, bei dem das Ergebnis von Coroutinen nach Fertigstellung aufbewahrt wird. Dies ist nützlich, wenn Coroutine auf das Ergebnis einer anderen Korutine warten muss.
Wie Sie die oben genannten Konzepte der Asyncio -Bibliothek implementieren können, wird in diesem Tutorial unter Verwendung einiger einfacher Beispiele angezeigt.
Erstellen Sie eine Datei mit dem Namen Async1.py und fügen Sie den folgenden Code hinzu. Die Asyncio -Bibliothek wird importiert, um die Funktionen dieser Bibliothek zu verwenden. hinzufügen Die Funktion wird deklariert, um die Summe eines bestimmten Zahlenbereichs zu berechnen. Der Zahlenbereich von 1 bis 101 wird von der Aufgabe mit einer Sekunde Verzögerung zugewiesen. Die Ereignisschleife wird erklärt, dass sie so lange ausgeführt wird, bis alle Aufgaben der Hauptmethode abgeschlossen sind. Nach der Berechnung des Wertes wartet die Funktion auf eine Sekunde und druckt das Ergebnis aus.
Asyncio importierenAusgang:
$ python3 async1.pyDer Ausgang zeigt die Summe von 1 bis 101, die 5050 beträgt.
Beispiel 2: Erstellen Sie mehrere Coroutinen
Die Verwendung der Asyncio -Bibliothek wird gelöscht, wenn Sie mehrere Coroutinen gleichzeitig ausführen. Erstellen Sie eine neue Datei mit dem Namen Async2.py und fügen Sie den folgenden Code hinzu. Drei Aufgaben werden mit drei verschiedenen Bereichen und Wartewerten in erstellt hauptsächlich() Methode. Die erste Aufgabe berechnet die Summe von 5 bis 500000 durch Warten 3 Sekunden. Die zweite Aufgabe berechnet die Summe von 2 bis 300000, indem Sie 2 Sekunden warten, und die dritte Aufgabe berechnet die Summe von 10 bis 1000, indem Sie 1 Sekunden warten. Die Aufgabe mit niedrigen Wartewerten wird zunächst abgeschlossen und die Aufgabe mit einem hohen Wartewert endlich abgeschlossen.
Asyncio importierenAusgang:
$ python3 async1.pyDie Ausgabe zeigt, dass Task3 zuerst abgeschlossen ist, da die Wartezeit dieser Aufgabe nur 1 Sekunde betrug und Task1 zuletzt abgeschlossen ist, da die Wartezeit dieser Aufgabe 3 Sekunden betrug.
Beispiel-3: Coroutinen mit Zukunft
Dieses Beispiel zeigt die Verwendung eines zukünftigen Objekts der Asyncio -Bibliothek. Erstellen Sie eine neue Datei mit dem Namen Async3.py und fügen Sie den folgenden Code hinzu. In diesem Beispiel werden zwei Aufgaben für die Zukunft zugewiesen. zeige Nachricht Die Funktion wird hier erklärt, die Nachricht zu drucken, bevor die Coroutine ausgeführt wird, und nach Abschluss der Ausführung. Die erste Aufgabe wird 2 Sekunden lang warten und zuletzt abgeschlossen. Die zweite Aufgabe wird 1 Sekunden lang warten und zuerst erledigen.
Asyncio importierenAusgang:
$ python3 async3.pyIn der Ausgabe wird angezeigt, dass der Task1 zuletzt zuerst gestartet und abgeschlossen ist und Task2 später gestartet wird, aber zuerst für kurze Wartezeiten abgeschlossen ist.
Das grundlegende Konzept der asynchronen Programmierung unter Verwendung der Asyncio -Bibliothek von Python wird hier erklärt. Hoffe, Sie können Multi-Thread-Code in Python schreiben, nachdem Sie die Beispiele dieses Tutorials geübt haben.