Comment utiliser le module thread pour créer et gérer des threads dans Python 2.x
Introduction :
Dans la programmation multithread, nous devons souvent créer et gérer plusieurs threads pour implémenter des tâches exécutées simultanément. Python fournit le module thread pour prendre en charge la programmation multithread. Cet article explique comment utiliser le module thread pour créer et gérer des threads, et fournit quelques exemples de code.
import thread import time # 定义线程执行的函数 def print_time(threadName, delay): count = 0 while count < 5: time.sleep(delay) count += 1 print("%s: %s" % (threadName, time.ctime(time.time()))) # 创建两个线程 try: thread.start_new_thread(print_time, ("Thread-1", 2,)) thread.start_new_thread(print_time, ("Thread-2", 4,)) except: print("Error: 无法启动线程") # 主线程等待子线程结束 while 1: pass
Exécutez le code ci-dessus et deux threads seront créés pour imprimer l'heure actuelle toutes les 2 secondes et 4 secondes respectivement. Le thread principal attendra la fin du thread enfant.
import thread import time # 全局变量 counter = 0 lock = thread.allocate_lock() # 线程函数 def increment_counter(threadName, delay): global counter while True: lock.acquire() counter += 1 print("%s: %d" % (threadName, counter)) lock.release() time.sleep(delay) # 创建两个线程 try: thread.start_new_thread(increment_counter, ("Thread-1", 1,)) thread.start_new_thread(increment_counter, ("Thread-2", 2,)) except: print("Error: 无法启动线程") # 主线程等待子线程结束 while 1: pass
Le code ci-dessus crée deux threads, incrémente la variable du compteur à différentes vitesses et imprime les résultats. Grâce à l'utilisation de verrous, un accès mutuellement exclusif au compteur entre les threads est assuré et les conditions de concurrence sont évitées.
Conclusion :
Cet article présente la méthode de base de création et de gestion de threads à l'aide du module thread dans Python 2.x et fournit quelques exemples de code. Il est important de comprendre et maîtriser la programmation multi-thread pour améliorer les performances et la réactivité de votre application. Dans le développement réel, vous pouvez également utiliser des bibliothèques multithread plus avancées et flexibles, telles que le module threading, qui fournit plus de fonctions et des interfaces plus faciles à utiliser, mais les principes et idées de base sont similaires.
Référence :
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!