Python bekommt Thread ID

Python bekommt Thread ID
Eine Ganzzahl, die positiv ist, wenn ein Thread erstellt wird, erhält den Namen "Thread ID". Die Methoden "get_indent ()" und "get_native_id ()" können verwendet werden, um die Thread -ID zu erwerben. Die Methode "get_native_id ()" gibt eine vom Kernel angegebene ID zurück und ist auch ein ganzzahliger Wert. Während die Methoden "get_indent ()" eine eigene ID zurückgeben, die eine Ganzzahlnummer ist. Wir müssen das Threading -Modul in Python importieren, um einen Thread zu starten, bevor wir die Thread -IDs finden können.

Beispiel 1: Verwendung von Threading.methode get_ident () in Python -Threads.

Das „Threading.In diesem Beispiel wird die Methode get_ident () verwendet, um die Thread -ID in einem Python -Skript zu erhalten. Wir müssen zuerst einen Thread im Python -Skript dafür erstellen. Python -Threads sind eine Art Prozessobjekt, bei dem die Ausführung geplant ist. Ein Thread ist ein Rechenprozess, den ein Computer durchführt. Die Reihe solcher Anweisungen eines Programms, die getrennt von anderen Anweisungen ausgeführt werden können, ist das, was dies ist. Wenn ein Thread gestartet wird, wird eine lange positive Zahl genannt, die als Thread -ID bezeichnet wird. Die Fadenkennung ist konstant und einzigartig während des vollständigen Lebenszyklus eines Fadens. Wenn der Faden beendet ist, kann er erneut verwendet werden. Zusätzlich wird jeder Thread erkannt. Jeder Thread erhält eine Ganzzahl -Identifikation von Python. Die Funktion „get_ident ()“ kann verwendet werden, um diese Informationen zu erhalten. Die Methode „get_native_id ()“ kann verwendet werden, um die charakteristische Ganzzahl abzurufen, die das Betriebssystem für jeden Thread bietet.

Lassen Sie uns nun den Code mit dem Tool „Spyder“ in die Praxis umsetzen, das für Python viel einfacher zu verwenden und zu verstehen ist als andere Tools wie Visual Studio Code. Wir importieren das "Threading" -Modul, weil wir einen Thread in der ersten Codezeile konstruieren. Die zweite Codezeile importiert das "Zeit" -Modul, das eine Reihe von Codierungsformaten für die Zeit bietet, einschließlich Elementen, Zahlen und Zeichenfolgen. Abgesehen von der Zeitdarstellung bietet es auch Funktionen wie das Warten, während Ihr Skript ausgeführt wird und die Effizienz Ihres Skripts bewertet.

Da dies eine benutzerdefinierte Funktion ist, können wir ihm einen Namen geben, den wir mögen. Daher erstellen wir eine Funktion mit dem Namen „Func“ und verwenden die „Zeit.Sleep () ”Funktion zum Festlegen eines Zeitintervalls von„ 3 “Sekunden. Sobald wir die Funktion „Sleep ()“ verwenden und die Zeit festlegen, nimmt sich unser System für diesen Zeitraum einen Moment Zeit, bevor wir die Anweisung ausführen, in der wir die Funktion „Sleep ()“ angewendet haben. Danach verwenden wir die Funktion „print ()“ und übergeben „Threading.Get Ident () “, um die Thread -ID und die Eingabezeichenfolge„ Ich liebe es zu codieren “in ihren Klammern abzurufen. Jetzt, wo wir die Zeit von „3“ Sekunden in der „Zeit.Sleep () ”Methode, unser System schläft 3 Sekunden lang„ 3 “, bevor sie diese Anweisung und seine ID anzeigen.

Jetzt werden wir einen Thread erstellen und die Funktion darin aufrufen, indem wir mit „Threading.Thread () ”Innerhalb davon haben wir das Argument„ target = func “übergeben, was bedeutet, die Funktion innerhalb des Threads aufzurufen. Wir haben diesen Thread dann in der von uns initialisierten Variablen „T1“ gespeichert und in der folgenden Zeile begonnen, indem wir „T1 anrufen“.Start()".

Wenn wir den Code ausführen."Wir haben" Threading "verwendet.get_ident () ”oben, um die Thread -ID zu erhalten, da die Thread -ID eine positive numerische Ganzzahl sein sollte. Sie können also sicher sein, dass die ID eine positive Ganzzahl ist, indem Sie sich die Thread -ID ansehen.

Jetzt verwenden wir im nächsten Abschnitt denselben Code und den gleichen Threading.Holen Sie sich Ident () “,“. Aber wir werden einen zweiten Thread hinzufügen. Dazu importieren wir wie im obigen Abschnitt zuerst die beiden Bibliotheken "Threading" und "Zeit". Nachdem wir eine Funktion definiert haben, verwenden wir die Zeit.sleep () ”“ Aber diesmal setzen wir die Zeit auf „1“ Sekunde. Als nächstes nennen wir "print ()" und passieren "Threading".Get Ident () “, um die Thread -IDs sowie die Eingabeanweisung„ Ich liebe es, Codierung zu kodieren."In diesem Fall haben wir auch die Ganzzahlwertquelle"%d "verwendet.

Wir erstellen jetzt zwei Threads und rufen die Funktionen in jedem Thread auf. Thread 1 wird in der Variablen „T1“ gespeichert und Thread 2 wird in der Variablen „T2“ gespeichert. Wir werden dann die Funktion "func" in Thread 1 aufrufen, indem wir "Threading" verwenden.Thread «, übergeben" target = func "und wiederholen Sie den Vorgang für Thread 2. Zuletzt werden wir die Funktion „start ()“ verwenden, um beide Threads zu starten.

Das System stoppt den Betrieb für „1“ Sekunden. Anschließend wird die IDs beider Threads angezeigt und die Anweisung: Die ID des ersten Threads lautet "11436" und die ID des zweiten Threads lautet "11472".

Beispiel 2: Verwenden von Threading.methode get_native_id () in Python -Threads.

In diesem Beispiel wird die ID des Threads mit dem Threading erhalten.get_native_id () Technik. Es wird verwendet, um die native Thread -ID abzurufen, die der Kernel dem aktuellen Thread zugewiesen hat. Der systemweite aktive Thread wird durch diesen Wert identifiziert. Das „Threading.get_native_id () ”Methode gab numerische Werte mit einer Null-Nummer für die ID zurück.

Lassen Sie uns nun den Code implementieren. Zuerst importieren wir die beiden Bibliotheken "Threading" und "Zeit".Dann definieren wir eine Funktion mit dem Namen „Func“.Als nächstes nennen wir die „Zeit.Sleep () ”-Methode und setzen Sie den Timer für„ 2 “Sekunden ein. In der folgenden Zeile nennen wir dann die Funktion „print ()“ und bestehen die Aussage „Python ist die am schnellsten wachsende Programmiersprache“. In der folgenden Zeile werden wir "Threading" verwenden.Thread () ”Um einen Thread zu erstellen, und in ihm werden wir„ func “als Argument übergeben, um die Funktion" Func "innerhalb des Threads zu nennen. Dieser Thread wird in der Variablen „T1“ aufbewahrt, und dann wird die Thread -Ausführung mit dem Aufrufen von „T1“ gestartet.Start()".

Die "native ID" des Threads, der "8580" ist, wird zusammen mit der Eingabeanweisung in der Ausgabe gedruckt. Aber bevor es angezeigt wurde, wurde die Ausführung der Erklärung zwei Sekunden lang angehalten.Sleep () ”Funktion.

Wir werden nun die beiden Funktionen im nächsten Abschnitt "Phrase1" und "Phrase2" erstellen. Die Zeit.Sleep () ”-Methode wird in der Funktion„ Phrase1 “aufgerufen und der Zeitparameter wird als„ 1 “Sekunden gesendet. Dann nennen wir die Funktion „print ()“ in der folgenden Zeile und in der Inneren nennen wir das "Threading".get_native_id ”und die Eingabeanweisung. Für die zweite Funktion, „Phrase2“, wiederholen wir den Vorgang, überspringen jedoch die Verwendung der „Zeit.Sleep () ”Funktion Um die Thread -ID zu erhalten, die der Kernel zugewiesen hat, und die Eingabeanweisung zu senden.

Für den ersten Thread haben wir „Threading“ verwendet.Thread ”und die Funktion genannt, indem„ Phrase1 “innerhalb seiner Klammern als Argument bestanden wird. Wir haben diesen Thread dann in der Variablen "T1" gespeichert. Wir werden nun zwei Threads im Schritt für den zweiten Thread erstellen, wir haben den Vorgang wiederholt, aber diesmal haben wir die zweite Funktion "Phrase2" bezeichnet und diesen Thread in "T2" gespeichert. Die Thread -Ausführungen wurden dann zusammen mit "T1" und "T2" verwendet "start ()".

Sie können sehen, dass es sofort die native ID des zweiten Threads, die „10636“ ist. Anschließend zeigte es die ID von Thread 1, die „7400“ ist, denn wenn die Funktion eins aufgerufen wird, setzen wir das Zeitintervall für „1“ Sekunden, was dazu führt die nächste Ausführung.

Abschluss

Dieser Artikel hat verschiedene Ansätze zum Erhalten einer Thread -ID in Python untersucht. Das „Threading.methode get_ident () ”und das Threading.Get_Native ID () ”Methode wurde in den Beispielen verwendet. Beide Methoden geben die eindeutige Identifizierung der Threads zurück, die ungleich Null und reelle Zahlenwerte sein müssen. Im Beispiel haben wir auch die „Zeit genutzt.Sleep () ”Methode zur Verzögerung der Ausführung der Threads.