您好,登錄后才能下訂單哦!
這篇文章主要介紹python多線程怎么自定義線程類,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
python的數據類型:1. 數字類型,包括int(整型)、long(長整型)和float(浮點型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數據類型,集合中可以放任何數據類型。5. 元組,元組用”()”標識,內部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復的數據組合。
python中使用多線程處理程序,會比一步步的處理節約很多時間,而且通過創建并繼承Python的Thread類,重寫run()方法,通過自定義的線程類來創建線程,本文介紹python多線程Thread類定義和如何自定義線程類的過程。
一、Thread類定義
threading.Thread(self, group=None, target=None, name=None,agrs=(),kwargs=None, *, daemon=None)
參數group是預留的,用于將來擴展;
參數target是一個可調用對象,在線程啟動后執行;
參數name是線程的名字。默認值為“Thread-N“,N是一個數字;
參數args和kwargs分別表示調用target時的參數列表和關鍵字參數。
二、自定義線程類
1、創建一個類,并繼承Python的Thread類,且重寫run()方法實現具體的執行順序由自己來定義。
from threading import Thread import time #創建一個類,并繼承Python的Thread類,且重寫run()方法實現具體的執行順序由自己來定義 class MyThread(Thread): '''time.sleep代表等待10秒后才執行''' def run( self ): time.sleep( 2 ) print ( "我是線程類..." ) '''下面這一段是從源碼Thread類中的run方法復制過來的,當然 沒有也許,因為繼承了Thread,就會去父類里面找,我這里只是測試用''' try : if self ._target: self ._target( * self ._args, * * self ._kwargs) finally : # Avoid a refcycle if the thread is running a function with # an argument that has a member that points to the thread. del self ._target, self ._args, self ._kwargs
2、定義一個函數
def Bar(): print ( "Bar..." )
3、通過自定義的線程類來創建線程,并且關聯函數Bar,最后執行這個線程。
t1 = MyThread(target = Bar) t1.start() print ( "守護線程執行結束..." )
需要注意:
自定義線程不能指定target,因為,自定義線程里面的任務統一都在run方法里面;
啟動線程統一調用start方法,不要直接調用run方法,因為這樣不是使用子線程去執行任務。
以上是“python多線程怎么自定義線程類”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。