Maison > Article > développement back-end > Comment utiliser le module de threading pour créer et gérer des threads dans Python 3.x
Comment utiliser le module de threading pour créer et gérer des threads dans Python 3.x
Introduction :
Avec les performances puissantes des ordinateurs, le multithreading est devenu une méthode courante de traitement parallèle. Dans la bibliothèque standard de Python, il existe un module pratique : le threading. Cet article explique comment utiliser le module de threading dans Python 3.x pour créer et gérer des threads, et l'illustre avec des exemples de code.
1. Qu'est-ce qu'un fil ?
Un thread est un processus indépendant exécuté en un seul processus. Il s'agit de la plus petite unité de planification par le système d'exploitation. Un processus peut contenir plusieurs threads, qui partagent les ressources du processus mais ont également leurs propres états et chemins d'exécution. Le multithreading peut exécuter plusieurs tâches en même temps et améliorer l'efficacité du programme.
2. Pourquoi utiliser des fils de discussion ?
Dans certains cas, plusieurs tâches doivent être effectuées en même temps, comme télécharger plusieurs fichiers en même temps, traiter de grandes quantités de données en même temps, etc. Les threads peuvent être utilisés pour exécuter ces tâches en parallèle et améliorer l'efficacité du programme. De plus, les threads peuvent également être utilisés pour traiter certaines opérations nécessitant une réponse en temps réel, telles que la mise à jour de l'interface utilisateur, le traitement des entrées utilisateur, etc.
3. Utilisez le module de thread pour créer et gérer des threads
En Python, vous pouvez facilement créer et gérer des threads à l'aide du module de thread. Voici quelques opérations couramment utilisées :
L'exemple de code est le suivant :
import threading # 继承Thread类 class MyThread(threading.Thread): def run(self): # 线程的执行体 print("In MyThread") # 定义线程的执行体 def thread_func(): print("In thread_func") # 创建线程 t1 = MyThread() t2 = threading.Thread(target=thread_func) # 启动线程 t1.start() t2.start()
L'exemple de code est le suivant :
import threading import time def thread_func(): print("In thread_func") time.sleep(2) print("Thread finished") # 创建线程 t = threading.Thread(target=thread_func) t.setDaemon(True) t.setName("DemoThread") # 启动线程 t.start() # 主线程继续执行 print("Main thread")
L'exemple de code est le suivant :
import threading # 共享资源 counter = 0 lock = threading.Lock() # 线程的执行体 def thread_func(): global counter for _ in range(100000): # 获取锁 lock.acquire() counter += 1 # 释放锁 lock.release() # 创建线程 t1 = threading.Thread(target=thread_func) t2 = threading.Thread(target=thread_func) # 启动线程 t1.start() t2.start() # 等待线程结束 t1.join() t2.join() # 打印结果 print("counter =", counter)
4. Résumé
L'utilisation du module de thread peut facilement créer et gérer des threads et réaliser un traitement parallèle de multi-tâches. Lors de l'écriture de programmes multithread, vous devez faire attention aux problèmes de synchronisation entre les threads pour éviter les conditions de concurrence et les incohérences des données. J'espère que cet article vous a été utile pour créer et gérer des threads à l'aide du module de threading dans Python 3.x.
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!