Python 2.x 中如何使用thread模組建立和管理執行緒
引言:
在多執行緒程式設計中,我們常常需要建立和管理多個執行緒來實作並發執行的任務。 Python提供了thread模組來支援多執行緒程式設計。本文將介紹如何使用thread模組來建立和管理線程,並提供一些程式碼範例。
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
執行上述程式碼,將建立兩個線程,分別每2秒和4秒列印一次當前時間。主執行緒將一直等待子執行緒結束。
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
上述程式碼創建了兩個線程,分別以不同的速度對counter變數進行遞增操作並列印結果。透過鎖定的使用,確保了執行緒之間對counter的互斥訪問,避免了競爭條件。
結論:
本文介紹了在Python 2.x 中使用thread模組建立和管理執行緒的基本方法,並提供了一些程式碼範例。了解並掌握多執行緒程式設計是非常重要的,它可以提高應用程式的效能和回應能力。在實際開發中,還可以使用更高級和靈活的多線程庫,例如threading模組,它提供了更多的功能和更易用的接口,但基本原理和思想都是相似的。
參考資料:
以上是Python 2.x 中如何使用thread模組建立和管理線程的詳細內容。更多資訊請關注PHP中文網其他相關文章!