Die Schnittstelle zum Ausführen von Aufgaben unter Verwendung eines Pools von Fäden oder Prozessen erfolgt durch diese Kapselungsschicht über den Multitasking- und Multithreading -Komponenten von Python. Die gleichzeitige.Futures -Modul von Python entwickelte eine abstrakte Klasse „Executor“ zusammen mit seinen konkreten Unterklassen, die anstelle der „Executor“ -Klasse verwendet werden. Dies liegt daran.”
Beispiel 01
Beginnen wir mit dem ersten Abbild unseres Artikels. Wir zeigen Ihnen die Verwendung der ProcessPoolexecutor -Unterklasse von „Executor“ in dieser Illustration, i.e., Erhalten Sie einen Strom von Aufgaben, um die Arbeitsplätze zu erledigen. Dieser Stream verteilt Jobs vorhandenen Themen und plant ihre Ausführung. Wir haben dieses Python -Programm mit der Verwendung der „gleichzeitigen Verwendung.Futures ”-Modul importieren seine ProcessPoolexecutor -Unterklasse hier im Code.
Danach haben wir die Schlafklasse eines Zeitmoduls in Python über die Verwendung von Keywords und importieren. Wir definieren eine Funktion mit dem Namen „Thread“ und nehmen eine Nachrichtenvariable als Argument darin,. Diese Funktion hat den Funktionsaufruf von Sleep () von Python verwendet, um die Ausführung nur 2 Sekunden lang zu stören und die Nachricht an die Funktion main () zurückzugeben.
Während die Funktionsdefinition main () mit dem Aufruf zur Funktion „processPoolexecutor“ von gleichzeitiger Aufruf gestartet wurde.Futures -Modul zum Erstellen eines Pools von 5 Prozessen und Speichern des Poolergebnisses in einem Objekt „Executor“. Dieses Objekt „Executor“ wurde verwendet, um die Funktion „Senden“ aufzurufen, um 5 Threads zu erstellen, indem sie eine Nachricht „abgeschlossen“ in den Parametern übergeben. Die Funktionsausführung versuchte 2 Sekunden lang zu schlafen und die Nachricht zurückzugeben. Das zurückgegebene Ergebnis würde in der Variablen „Zukunft“ gespeichert werden. Wir haben die Funktion „Fertig“ mit der zukünftigen Objektvariablen in der Anweisung „Print“ der Python -Funktion aufgerufen, um das zurückgegebene Ergebnis anzuzeigen, i.e., richtig oder falsch.
Danach haben wir die Schlaffunktion verwendet, um die Ausführung des Programms nach 5 Sekunden weiterzufinden und dann das Ergebnis des Executor -Pools unter Verwendung der Funktion des zukünftigen Objekts zu überprüfen. Am Ende wurde das „zukünftige“ Objekt verwendet, um die integrierte Funktion von Python zu rufen () aufzurufen. Futures -Modul, um das tatsächliche Ergebnis zu sehen, ich.e., Am Ende fertiggestellt.
In den letzten Zeilen können wir sehen, dass die Funktion main () hier aufgerufen wurde. Lassen Sie uns einfach unseren Code speichern und ausführen, um das tatsächliche Ergebnis für die Verwendung der gleichzeitigen Verwendung anzuzeigen.Futures -Pakete in Python -Programmen. Das Bild unten enthält auch den Code für die oben genannte Erklärung.
Nachdem wir dieses Programm in Spyder 3 ausgeführt haben. Wenn der Executor -Pool von 5 Threads gestartet wurde, ruft er die Thread -Funktion auf und schläft 2 Sekunden lang und gibt dann die Nachricht zurück. Da sich der Poolprozess noch nicht vervollständigt, also die „Zukunft.Done ”gibt falsch zurück, und wir haben das" falsche "Ergebnis angezeigt. Die Ausführung dieses Programms schläft für die nächsten 5 Sekunden und zeigt dann das Ergebnis von „Zukunft.wieder fertig.
Da insgesamt 5 Sekunden vergangen sind und der Pool erfolgreich ausgeführt wurde, kehrt er in diesem Fall wahr zurück. Endlich die „Zukunft“.Die Funktion von Ergebnis ”Zeigt die Meldung„ abgeschlossen “für den Pool der 5 -Prozesses vollständige Ausführung an. Dies ist das erwartete Ergebnis des oben gemischten Code.
Beispiel 02
Schauen wir uns ein anderes Beispiel an, um die ProcessPoolexecutor -Unterklasse der gleichzeitigen Verwendung zu verwenden.Futures -Modul in Python. Also haben wir hier den Unterklassenprozesspoolexecutor importiert. Danach haben wir eine Liste „Num“ von 4 verschiedenen numerischen Werten initialisiert, ich.e., 14, 7, 3, 15. Wir haben in diesem Programm insgesamt 2 Funktionen verwendet. Die Funktion main () Funktion wurde mit der Verwendung des ProcessPoolexecutor -Kontextmanagers gestartet.
Context Manager kann als zweite Methode zum Erstellen von ProcessPoolexecutor -Instanzen verwendet werden. Es funktioniert ähnlich wie der Ansatz im vorhergehenden Beispiel. Die beste Funktion des Kontextmanagers ist, wie syntaktisch ansprechend es ist. Also haben wir es hier verwendet, um einen 3 -Pool zu erstellen, ich.e., Gesamtarbeiter. Damit hat der Testamentsvollstrecker die Funktion map () verwendet, um eine Anzahl jedes Elements einer "NUM" -Liste als Parameter an die Funktion „Cube“ für die Zuordnung zu übergeben. Die Würfelfunktion gibt den Würfel jeder von der Liste übergebene Nummer über die Verwendung von "N*n*n" -Formeln zurück und speichert das zurückgegebene Ergebnis auf Variable "R".
Die „für“ -Schloops ist hier, um das Ergebnis „R“ für jedes Element zu verwenden, um jeden zurückgegebenen Wert aus der Würfelfunktion auf der Konsole über die Verwendung der Funktion „Drucken“ mit der Val -Variablen zu verwenden. Die letzten 2 Zeilen zeigen die Verwendung des Funktionsaufrufs main (). Das Bild unten enthält auch den Code für die oben genannte Erklärung.
Die Ausgabe hat den Würfel aller 4 Elemente der „Num“ -Liste angezeigt. Dies ist das erwartete Ergebnis des oben gemischten Code.
Abschluss
In diesem Artikel dreht sich alles um die Verwendung des „gleichzeitigen.Futures ”-Modul von Python in den Programmen, um seine Verwendung zu sehen. In unserem ersten Beispiel haben wir es verwendet, um einen Pool von 5 Prozessen zu erstellen und das Ergebnis vor und nach der Nutzung der Schlaffunktion im Code zurückzugeben. Danach haben wir ein weiteres Beispiel verwendet, um das „gleichzeitige gleichzeitige“ zu konsumieren.Modul für Futures ”und einige mathematische Berechnungen auf unserer Konsole von Sypder Tool Python Tool angeben.