Heim >Backend-Entwicklung >Python-Tutorial >Wie führe ich mithilfe einer Thread-Funktion zwei Funktionen gleichzeitig in einem Python-Skript aus?

Wie führe ich mithilfe einer Thread-Funktion zwei Funktionen gleichzeitig in einem Python-Skript aus?

Barbara Streisand
Barbara StreisandOriginal
2024-10-25 08:09:28840Durchsuche

How to execute two functions concurrently in a Python script using a threaded function?

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!

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