首頁 >後端開發 >Python教學 >python threading模組能做什麼? (實例詳解)

python threading模組能做什麼? (實例詳解)

乌拉乌拉~
乌拉乌拉~原創
2018-08-23 17:41:442064瀏覽

在以下的文章之中我們來了解什麼是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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn