Heim >Backend-Entwicklung >Python-Tutorial >Wie führe ich mithilfe einer Thread-Funktion zwei Funktionen gleichzeitig in einem Python-Skript aus?
Threads in Python erstellen
Problem:
Wie können Sie zwei Funktionen gleichzeitig in einem Python-Skript ausführen? Verwenden einer Thread-Funktion anstelle einer Klasse?
Arbeitsskript:
<code class="python">from threading import Thread class myClass(): def help(self): os.system('./ssh.py') def nope(self): a = [1,2,3,4,5,6,67,78] for i in a: print(i) sleep(1) if __name__ == "__main__": Yep = myClass() thread = Thread(target=Yep.help) thread2 = Thread(target=Yep.nope) thread.start() thread2.start() thread.join() print('Finished')</code>
Verbesserte Lösung:
<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:
Anstatt eine Thread-Klasse zu verwenden, zeigt dieses verbesserte Skript, wie man einen Thread direkt erstellt, indem man eine Zielfunktion und alle erforderlichen Argumente an den Thread-Konstruktor übergibt. Der Zielparameter gibt die Funktion an, die in einem separaten Thread ausgeführt werden soll. In diesem Fall wird die Funktion threaded_function() gleichzeitig mit dem Hauptthread aufgerufen. Die Methode „join()“ stellt sicher, dass der Hauptthread auf den Abschluss des Threads wartet, bevor er mit der Ausführung fortfährt.
Das obige ist der detaillierte Inhalt vonWie führe ich mithilfe einer Thread-Funktion zwei Funktionen gleichzeitig in einem Python-Skript aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!