Python是一種簡單易學又強大的開發(fā)語言,它支持多線程操作,實現(xiàn)了線程的開啟、關(guān)閉、同步等操作。使用Python的線程操作,可以提高程序的效率,而且可以實現(xiàn)系統(tǒng)的實時性。
import threading # 定義線程處理函數(shù) def worker(num): print("Thread", num, "is working") return # 創(chuàng)建線程對象 thread_1 = threading.Thread(target=worker, args=(1,)) thread_2 = threading.Thread(target=worker, args=(2,)) # 開啟線程 thread_1.start() thread_2.start() # 等待線程執(zhí)行結(jié)束 thread_1.join() thread_2.join()
上述代碼演示了如何創(chuàng)建線程對象并開啟線程。首先需要定義被線程處理的任務(wù)函數(shù),然后通過threading.Thread方法創(chuàng)建線程對象,傳入任務(wù)函數(shù)以及需要處理的參數(shù),最后通過start方法開啟線程執(zhí)行。
# 定義全局變量 counter = 0 # 定義線程處理函數(shù) def worker(): global counter for i in range(10000): counter += 1 # 創(chuàng)建線程對象 thread_1 = threading.Thread(target=worker) thread_2 = threading.Thread(target=worker) # 開啟線程 thread_1.start() thread_2.start() # 等待線程執(zhí)行結(jié)束 thread_1.join() thread_2.join() # 輸出結(jié)果 print("Counter:", counter)
上述代碼演示了如何通過多個線程對一個全局變量進行處理,需要注意的是全局變量會被多個線程同時訪問,需要保證線程安全。在本例中,我們使用了global關(guān)鍵字來定義counter變量為全局變量,在worker函數(shù)中進行加法操作,由于多線程同時訪問,計數(shù)器的值會被累加多次,所以需要在輸出結(jié)果時對counter進行同步操作,確保計算得到的結(jié)果正確。