Maison >développement back-end >Tutoriel Python >Comment utiliser le module de threading en python

Comment utiliser le module de threading en python

王林
王林avant
2023-05-15 18:16:122273parcourir

Explication détaillée du module threading en python. Threading fournit une API de niveau supérieur à celle du module thread pour fournir la concurrence des threads. Ces threads s'exécutent simultanément et partagent la mémoire.

Regardons l'utilisation spécifique du module threading :

1 L'utilisation de Thread

La fonction cible peut instancier un objet Thread, chaque Thread L'objet représente un thread et peut être démarré via la méthode start().

Voici une comparaison entre l'utilisation de la concurrence multi-thread et la non-application de la concurrence multi-thread :

La première est l'opération sans utiliser le multi-threading :

# 🎜🎜 #Le code est le suivant :

#!/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()

Le résultat de l'exécution est le suivant :

Comment utiliser le module de threading en python

Voici l'opération en utilisant la concurrence multi-thread :

Le code est le suivant :

#!/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()

Comment utiliser le module de threading en python

On voit clairement que le multi- les opérations simultanées threadées prennent beaucoup moins de temps.

2. Utilisation de threading.activeCount()

Cette méthode renvoie le nombre de threads dans le processus en cours. Le numéro renvoyé inclut le thread principal.

Le code est le suivant :

#!/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)

Comment utiliser le module de threading en python

3. Utilisation de threading.enumerate().

Cette méthode renvoie la liste des objets Thread en cours d'exécution.

Le code est le suivant :

#!/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

Comment utiliser le module de threading en python

4. Utilisation de threading.setDaemon().

Configurer le processus en arrière-plan.

Le code est le suivant :

#!/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"

Comment utiliser le module de threading en python

On peut voir que l'opération d'impression dans la méthode worker() est ne s'affiche pas, indiquant qu'il est devenu un processus en arrière-plan.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer