Maison >développement back-end >Tutoriel Python >Qu'est-ce que le module Python Threading ? Découvrez ce qu'est un module de thread en 3 minutes
Cet article parle principalement deQu'est-ce qu'un thread : Thread est la plus petite unité que le système d'exploitation peut effectuer la planification des calculs. Un processus est contenu dans un processus et constitue l'unité de traitement réelle au sein d'un processus. Un fil de discussion est une collection d'instructions.
Un thread fait référence à un seul flux de contrôle séquentiel dans un processus. Plusieurs threads peuvent s'exécuter simultanément dans un processus, et chaque thread exécute différentes tâches en parallèle.
Python prend en charge les threads via deux bibliothèques standards : thread et threading. thread fournit des threads primitifs de bas niveau et un simple verrou.
Autres méthodes fournies par le module threading :
1.threading.currentThread() : Renvoie la variable de thread actuelle.
2.threading.enumerate() : renvoie une liste contenant les threads en cours d'exécution. L'exécution fait référence au thread après son démarrage et avant sa fin, à l'exclusion des threads avant le démarrage et après la fin.
3.threading.activeCount() : renvoie le nombre de threads en cours d'exécution, qui a le même résultat que len(threading.enumerate()).
En plus des méthodes d'utilisation, le module thread fournit également la classe Thread pour gérer les threads. La classe Thread fournit les méthodes suivantes :
1.run() : Une méthode utilisée pour représenter le thread. activité.
2.start() : démarre l'activité du fil de discussion.
3.join([time]) : Attendez que le fil de discussion se termine. Cela bloque le thread appelant jusqu'à ce que la méthode join() du thread soit appelée abort - quitte normalement ou lève une exception non gérée - ou qu'un délai d'attente facultatif se produise.
4.isAlive() : renvoie si le fil de discussion est actif.
5.getName() : renvoie le nom du fil de discussion.
6.setName() : définit le nom du fil de discussion.
Utilisez le module Threading pour créer un fil de discussion
Utilisez le module Threading pour créer un fil de discussion, héritez directement de threading.Thread, puis remplacez la méthode __init__ et la méthode run :
#!/usr/bin/python # -*- coding: UTF-8 -*- import threading import time exitFlag = 0 class myThread (threading.Thread): #继承父类threading.Thread def __init__(self, threadID, name, counter): threading.Thread.__init__(self) self.threadID = threadID self.name = name self.counter = counter def run(self): #把要执行的代码写到run函数里面 线程在创建后会直接运行run函数 print "Starting " + self.name print_time(self.name, self.counter, 5) print "Exiting " + self.name def print_time(threadName, delay, counter): while counter: if exitFlag: (threading.Thread).exit() time.sleep(delay) print "%s: %s" % (threadName, time.ctime(time.time())) counter -= 1 # 创建新线程 thread1 = myThread(1, "Thread-1", 1) thread2 = myThread(2, "Thread-2", 2) # 开启线程 thread1.start() thread2.start() print "Exiting Main Thread"
Les résultats de l'exécution du programme ci-dessus sont les suivants
Starting Thread-1 Starting Thread-2 Exiting Main Thread Thread-1: Thu Mar 21 09:10:03 2013 Thread-1: Thu Mar 21 09:10:04 2013 Thread-2: Thu Mar 21 09:10:04 2013 Thread-1: Thu Mar 21 09:10:05 2013 Thread-1: Thu Mar 21 09:10:06 2013 Thread-2: Thu Mar 21 09:10:06 2013 Thread-1: Thu Mar 21 09:10:07 2013 Exiting Thread-1 Thread-2: Thu Mar 21 09:10:08 2013 Thread-2: Thu Mar 21 09:10:10 2013 Thread-2: Thu Mar 21 09:10:12 2013 Exiting Thread-2
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!