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

Comment utiliser le module de threading en python

王林
Libérer: 2023-05-15 18:16:12
avant
2244 Les gens l'ont consulté

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()
Copier après la connexion

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()
Copier après la connexion

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)
Copier après la connexion

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
Copier après la connexion

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"
Copier après la connexion

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!

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal