Python -Thread -Rückgabewert

Python -Thread -Rückgabewert

Ein Thread in einem Programm ist eine Sammlung von Anweisungen, die getrennt vom Rest des Programms durchgeführt werden können. Infolgedessen kann jeder der zahlreichen kleinen Aufgaben, die ein umfangreiches Programm in mehrere Threads unterteilt werden, solange ihre Ausführung von den anderen Aufgaben unabhängig ist. Wenn ein Programm nur auf einem Thread ausgeführt wird, verwendet es nur eine CPU oder ein Stück Code. Wenn jedoch ein Programm in mehrere Threads unterteilt werden kann und in jedem dieser Threads eine separate CPU verwendet wird, wird das Programm viel schneller ausgeführt und effektiver sein. Ein Thread liefert niemals ein Ergebnis direkt in Python. Die Thread -Prozedur "start ()", die einen Ausführungs -Thread erzeugt. Der Ansatz „run ()“ kann die Zielmethode anwenden, wenn eine bereitgestellt wird. Das Ziel ist es einfach, die Funktion in einem Thread jeweils in einem Thread aufzurufen.

Beispiel 1: Python -Funktion, die den Wert aus einer Gewindeoperation zurückgibt

In diesem Fall verwenden wir ein Python -Skript, um den Funktionswert aus dem Thread zurückzugeben. Ein Faden ist ein einzigartiger Verarbeitungsfluss. Dies deutet darauf hin, dass Ihr Code zwei gleichzeitige Vorkommen behandelt. Der Großteil der Python -Lösungen erzeugt jedoch nur die Idee, dass mehrere Threads gleichzeitig aktiv sind. Der Rückgabetyp einer Funktion wird normalerweise verwendet, um den Wert zu beschreiben, den sie dem Benutzer liefert. Das gesamte Python -Verfahren scheint einen Event -Handler zu beinhalten, entweder direkt oder unbeabsichtigt. Ein Thread reagiert nicht sofort auf Werte. Der Prozess „run ()“ wird von der Start () -Methode des Threads bezeichnet, wodurch ein separater Verarbeitungs -Thread für unseren Code erstellt wird. Wenn es geliefert wird, kann die Zielfunktion unter Verwendung der Methode „run ()“ aufgerufen werden. Um Werte aus einem Thread abzurufen, muss zuerst ein Thread in einem Skript erstellt werden. Wir können einen Funktionswert aus einem einzelnen oder mehreren Threads zurückgeben.

Beginnen wir nun, den Code zu implementieren. Zuerst importieren wir den Thread aus dem Threading -Abschnitt. Das Thread -Modul muss importiert werden, um Threads in Python zu erstellen. Die Entitätserstellung des „Threading“ -Pakets berücksichtigt jeden Thread als Objekt. Das "Thread" -Paket berücksichtigt eine threadähnliche Funktion. Als nächstes definieren wir im nächsten Schritt eine Funktion mit dem Namen „Func“. Da diese Funktion eine, die der Benutzer angeben kann, haben wir ihm einen Namen unserer Wahl gegeben. "Argu1" und "returning_val" wurden als Parameter für die Funktion "func" in seiner Klammern geliefert.

Dann verwenden wir im folgenden Schritt "returning_val" und übergeben den Wert "0", während wir den Ausdruck "Return the Wert aus" einstellen und das Argument "argu1" mit dem Symbol hinzufügen. Anschließend haben wir die Variable "returning_1_value" erstellt und sie auf "None*1" gesetzt. In ähnlicher Weise haben wir "returning_2_value" erstellt und auf "None*1" für den zweiten Rückgabewert gesetzt. Die Methode „Func“ zeigt den Wert des Arguments 1 und fügt die Rückgabeanweisung in die Positionen der Rückgabewert 0 ein.

Um einen Thread zu erstellen und die Funktion darin aufzurufen, müssen wir zuerst "Thread" und dann "target = func" in jedem seiner Klammern aufrufen. Target ist im Wesentlichen eine Funktion, daher zielen wir auf "Func" ab und senden die Argumentliste aus dem Thread, der "Thread 1" und den "Rückgeben von 1 Wert" enthält, und "1 Wert zurückgeben". In diesem Fall wird der Rückgabe von 1 Wert verwendet, um den Wert aus der Funktion abzurufen, in der dieser Thread in der Variablen „Thread1“ gespeichert ist, abgerufen wird.Dann führen wir das gleiche Verfahren für den zweiten Thread durch. Wir rufen Threads auf und geben darin die Funktion „Func“, die Parameterliste, für die „Thread 2“ sowie die "returning_2_value" verwendet werden, mit dem wir den Wert der Funktion erhalten. Dieser Thread speichert es in der Variablen "Thread2". Die Threads werden nun mit der Funktion "start ()" mit "Thread1" und "Thread2" gestartet. Im folgenden Schritt verwenden wir die Methoden „join ()“, um auf die Fertigstellung der Fertigstellung zu warten, um die Ausführung zu beenden. Die Funktion "print ()" wird dann in der folgenden Zeile mit den Argumenten "returnin_1_value" und "returning_2_value" verwendet.


In der Ausgabe wurde der Rückgabewert angezeigt. Erstens zeigte es die Druckanweisung, in der wir den Rückgabewert überschritten haben. Der Wert für 1 lautet "Thread1" und 2 ist "Thread 2". Anschließend wurde die Threads -Anweisung angezeigt, die "den Wert aus Thread 1 zurückgeben" und die zweite "den Wert aus Thread 2 zurückgeben".

Beispiel 2: Mehrere Werte, die Rückgaben aus einem Thread erhalten

In diesem Fall geben wir mehrere Werte aus den Threads an die Ausgabemittel -Anzeige zurück. Wenn ein Programm durch ihre Ausführung zahlreiche Fäden und Zyklen produziert, ist es Multithreading, auch als Threading bekannt, da es verhindert, dass ein längerer Betrieb alle anderen blockiert. Dies ist wirksam für Aktivitäten, die in kleinere Unteraufgaben unterteilt werden können, von denen jeder einem Thread für die Ausführung gegeben werden kann.

Lassen Sie uns den Code importieren, indem wir drei Bibliotheken importieren. Das Python Time -Paket bietet eine Vielzahl von Codierungsdarstellungen für die Zeit, z. B. Objekte, Zahlen und Zeichen. Im ersten Import importieren wir "Schlaf" aus dem Zeitmodul. Außerdem können Sie die Effektivität Ihres Skripts bewerten und während des Ausführens warten, zusätzlich zu anderen Funktionen als Zeitdarstellung. Mit der Sleep () -Ver Prozedur des Zeitmoduls können Sie die Ausführung des aufrufenden Threads für alles, was Sie mögen. Danach importieren wir "Thread" aus dem Threading -Modul. Die Klasse „CustomThread“ ist im folgenden Schritt definiert und akzeptiert das Argument „Thread“ als einziger Parameter.

Als nächstes definieren wir die Methode "_init_" und liefern das Schlüsselwort "Selbst" dafür. Jedes Objekt oder jede Klasse in Python hat das Schlüsselwort „Selbst“ zugewiesen. Mit dem Schlüsselwort „Selbst“ kann man schnell auf alle in einer Klasse deklarierten Beispiele zugreifen, einschließlich seiner Methoden und Attribute. Eine der eingeschränkten Methoden von Python ist __init__. In der folgenden Zeile nennen wir diese Methode mit einem Thread mit „Thread. init (self) ”. Dann definieren wir in der folgenden Zeile die Funktion „run ()“ und übergeben das Argument „Selbst.Dann verwenden wir die Methode „Sleep ()“ und setzen die Zeit auf „1“ Sekunden, was bedeutet, dass sie seine Ausführung für eine Sekunde anhält.

Dann setzen wir die Werte in jeder Instanzvariablen mit „Selbst.Val1 ”,„ Selbst.Val2 ”und„ Selbst.Val3 ”Setzen Sie ihre Werte auf„ Hallo “,„ 18 “bzw.„ wahr “. Mit anderen Worten, wir haben die Werte bezeichnet, indem wir das Schlüsselwort „Selbst“ hier übergeben haben. Als Nächst. Danach verwenden wir die Start () -Methode mit Threads, um den Thread und die Technik „Join ()“ mit „Thread“ zu starten, um auf das Hauptprogramm zu warten. Als Nächst.Val1 ”,„ Faden.Val2 ”und„ Faden.Val3 ”.


Wie im folgenden Screenshot gezeigt, gibt es mehrere Werte aus Threads in der Ausgabe zurück. Der erste Wert ist "Hallo", der zweite ist "18", und der dritte ist "wahr", nämlich Threadwerte, die wir in der Funktion "run ()" gespeichert hatten.

Abschluss

Wir haben diskutiert, wie man einfach den Threadwert oder die Werte einer Funktion aus einem Thread in diesem Artikel zurückgibt. In diesem Artikel wurden zwei Fälle verwendet. Der Funktionswert des Thread -Betriebs wurde in der ersten zurückgegeben, und die zahlreichen Thread -Werte wurden in der Ausgangsanzeige der zweiten zurückgegeben. In jedem unserer Instanzen haben wir benutzerdefinierte Funktionen definiert, die in Threads aufgerufen werden. Die Klasse „CustomThread“ wurde auch im zweiten Beispiel definiert. Sie werden davon profitieren, diesen Artikel zu lesen, wenn Sie dieses Thema recherchieren.