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

Barbara Streisand
Freigeben: 2024-10-25 08:09:28
Original
770 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!