在以下的文章之中我們來了解什麼是python threading模組。了解python threading模組的相關知識,以及threading模組在python程式設計之中能起到什麼樣的作用。
Threading模組
Threading用於提供執行緒相關的操作,執行緒是應用程式中工作的最小單元。
Threading用於提供線程相關的操作
threading 模組建立在 _thread 模組之上。 thread 模組以低階、原始的方式來處理和控制線程,而 threading 模組則透過對 thread 進行二次封裝,提供了更方便的 api 來處理線程。
import threading import time def worker(num): """ thread worker function :return: """ time.sleep(1) print("The num is %d" % num) return for i in range(20): t = threading.Thread(target=worker, args=(i,),name =“t. % d” % i) t.start()
上述程式碼創建了20個「前台」線程,然後控制器就交給了CPU,CPU根據指定演算法進行調度,分片執行指令。
Thread方法說明
t.start() : 啟動線程,
t.getName() : 取得線程的名稱
t.setName( ) : 設定執行緒的名稱
t.name : 取得或設定執行緒的名稱
t.is_alive() :判斷執行緒是否為啟動狀態
t.isAlive( ) :判斷線程是否為啟動狀態
t.setDaemon() 設定為後台線程或前台線程(預設:False);透過一個布林值設定線程是否為守護線程,必須在執行start()方法之後才可以使用。如果是後台線程,主線程執行過程中,後台線程也在進行,主線程執行完畢後,後台線程不論成功與否,均停止;如果是前台線程,主線程執行過程中,前台線程也在進行,主執行緒執行完畢後,等待前台執行緒也執行完成後,程式停止
t.isDaemon() : 判斷是否為守護執行緒
t.ident :取得執行緒的識別碼。執行緒標識符是一個非零整數,只有在呼叫了start()方法之後該屬性才有效,否則它只回傳None。
t.join() :逐一執行每個線程,執行完畢後繼續往下執行,該方法使得多線程變得無意義
t.run() :線程被cpu調度後自動執行線程物件的run方法
更多的方法
start 執行緒準備就緒,等待CPU調度
setName 為執行緒設定名稱
getName 取得線程名稱
setDaemon 設定為後台線程或前台線程(預設);如果是後台線程,主線程執行過程中,後台線程也在進行,主線程執行完畢後,後台線程不論成功與否,均停止;如果是前台線程,主線程執行過程中,前台線程也在進行,主線程執行完畢後,等待前台線程也執行完成後,程序停止
join 逐一執行每個線程,執行完畢後繼續往下執行,該方法使得多線程變得無意義
run 線程被cpu調度後自動執行線程物件的run方法
Lock線程鎖(互斥鎖Mutex)
Event
以上就是本篇文章所講述的所有內容,這篇文章主要介紹了python threading模組的相關知識,希望你能藉助資料從而理解上述所說的內容。希望我在這片文章所講述的內容能夠對你有幫助,讓你學習python更加輕鬆。
更多相關知識,請造訪php中文網Python教學欄位。
以上是python threading模組能做什麼? (實例詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!