Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Threads in Python mithilfe von Funktionen erstellen, ohne Thread in Unterklassen zu unterteilen?

Wie kann ich Threads in Python mithilfe von Funktionen erstellen, ohne Thread in Unterklassen zu unterteilen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-25 07:05:29658Durchsuche

How can I create threads in Python using functions without subclassing Thread?

Threads in Python mithilfe von Funktionen erstellen

Problem:

Zwei Funktionen gleichzeitig ausführen in Wenn Sie ein Python-Skript verwenden, können Sie Threading nicht mithilfe des bereitgestellten Beispielcodes implementieren. Sie bevorzugen die Verwendung einer Thread-Funktion anstelle eines klassenbasierten Ansatzes.

Lösung:

Sie können Threads mithilfe von Thread-Funktionen in Python erstellen, ohne eine Unterklasse von Thread zu verwenden . Hier ist ein Beispiel:

<code class="python">from threading import Thread
from time import sleep

def threaded_function(arg):
    for i in range(arg):
        print("running")
        sleep(1)


if __name__ == "__main__":
    thread = Thread(target=threaded_function, args=(10,))
    thread.start()
    thread.join()
    print("thread finished...exiting")</code>

Erklärung:

  • Die threaded_function wird mit dem Argument arg definiert und darin können Sie alle gewünschten Operationen ausführen.
  • Im Hauptthread wird eine Instanz der Thread-Klasse mit threaded_function als Ziel und einem Tupel von Argumenten als args-Parameter erstellt.
  • start() wird für das Thread-Objekt aufgerufen Starten Sie die Ausführung.
  • join() wird verwendet, um zu warten, bis der Thread die Ausführung abgeschlossen hat, bevor Sie fortfahren.

Das obige ist der detaillierte Inhalt vonWie kann ich Threads in Python mithilfe von Funktionen erstellen, ohne Thread in Unterklassen zu unterteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn