Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie das Threading-Modul in Python

So verwenden Sie das Threading-Modul in Python

王林
王林nach vorne
2023-05-15 18:16:122155Durchsuche

Detaillierte Erläuterung des Threading-Moduls in Python bietet eine höhere API als das Thread-Modul, um Thread-Parallelität bereitzustellen. Diese Threads werden gleichzeitig ausgeführt und teilen sich den Speicher.

Sehen wir uns die spezifische Verwendung des Threading-Moduls an:

1. Verwendung von Thread

Die Zielfunktion kann ein Thread-Objekt instanziieren und kann über die start()-Methode gestartet werden.

Hier ist ein Vergleich zwischen der Verwendung von Multithread-Parallelität und der Nichtverwendung von Multithread-Parallelität:

Die erste ist die Operation ohne Verwendung von Multithreading:

Der Code lautet wie folgt:

#!/usr/bin/python 
#compare for multi threads 
import time 
def worker(): 
    print"worker" 
    time.sleep(1) 
    return 
    if__name__ =="__main__": 
    for i in xrange(5): 
    worker()

Die Ausführungsergebnisse sind wie folgt :

So verwenden Sie das Threading-Modul in Python

Das Folgende ist die Operation mit Multithread-Parallelität:

Der Code lautet wie folgt:

#!/usr/bin/python 
import threading 
import time 
defworker(): 
    print"worker" 
    time.sleep(1) 
    return 
    fori in xrange(5): 
        t=threading.Thread(target=worker) 
        t.start()

So verwenden Sie das Threading-Modul in Python

Es ist deutlich zu erkennen, dass die Operation mit Multithread-Parallelität viel weniger Zeit in Anspruch nimmt.

2. Verwendung von threading.activeCount()

Diese Methode gibt die Anzahl der Threads im aktuellen Prozess zurück. Die zurückgegebene Zahl umfasst den Hauptthread.

Der Code lautet wie folgt:

#!/usr/bin/python 
#current's number of threads 
import threading 
import time 
defworker(): 
    print"test" 
    time.sleep(1) 
    for i in xrange(5): 
        t=threading.Thread(target=worker) 
        t.start() 
        print"current has %d threads" % (threading.activeCount() -1)

So verwenden Sie das Threading-Modul in Python

3. Verwendung von threading.enumerate().

Diese Methode gibt die Liste der aktuell ausgeführten Thread-Objekte zurück.

Der Code lautet wie folgt:

#!/usr/bin/python 
#test the variable threading.enumerate() 
import threading 
import time 
defworker(): 
    print"test" 
    time.sleep(2) 
    threads=[] 
    for i in xrange(5): 
        t=threading.Thread(target=worker) 
        threads.append(t) 
        t.start() 
        for item in threading.enumerate(): 
            print item 
            print for item in threads: 
                print item

So verwenden Sie das Threading-Modul in Python

4. Verwendung von threading.setDaemon().

Hintergrundprozess einrichten.

Der Code lautet wie folgt:

#!/usr/bin/python 
#create a daemon 
import threading 
import time 
def worker(): 
    time.sleep(3) 
    print"worker" 
    t=threading.Thread(target=worker) 
    t.setDaemon(True) 
    t.start() 
    print"haha"

So verwenden Sie das Threading-Modul in Python

Es ist ersichtlich, dass der Druckvorgang in der worker()-Methode nicht angezeigt wird, was darauf hinweist, dass es sich um einen Hintergrundprozess handelt.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Threading-Modul in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen