python线程创建对象_Python线程下thread对象的用法介绍(附实例)
本篇文章給大家帶來的內容是關于Python線程下thread對象的用法介紹(附實例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
Thread對象
Thread類用于表示單獨的控制線程。
語法:t=Thread(group=None,target=None,name=None,args=(),kwargs={})
創建一個新的Thread實例:t
group:為以后擴張保留的,默認為None
target:一個可調用對象,線程啟動時,run()方法將調用此對象
name:線程名稱,默認創建一個“Thread-N”格式的唯一名稱。
args:傳遞給target函數的參數元祖
kwargs:傳遞給target的關機字參數的字典。
常用屬性于方法t.start():通過在一個單獨的控制線程中調用run(),啟動線程,此方法只能被調用一次。
t.run():線程啟動時將調用此方法。默認情況下,他會調用目標函數target。還可以在Thread的子類中重新定義此方法。
t.join([timeout]):阻塞線程,等待直到線程終止或者出現超時為止。timeout是以秒為單位的超時時間。
線程啟動之前不能調用此方法,否則會報錯。
t.is_alive:如果線程是活動的,返回True,否則返回False,從start()返回的那一刻開始,線程就是活動的,
直到run()方法終止為止。
t.name:線程名稱,這個字符串用于唯一標識,可以根據需要將它更改為更有意義的值,
t.ident:整數線程標識符,如果線程尚未啟動,它的值為None。
t.daemon:如果線程是后臺線程,該值為True,否則未False。當不存在任何任何活動的非后臺進程時,整個程序會退出。
實例1:利用Thread對象,簡單創建一個線程,并啟動一個函數
代碼:#利用Thread對象,簡單創建一個線程,并啟動一個函數
from threading import Thread
import time
def mark(interval):
print("循環等待時間時間%d,等待前時間:%s"%(interval,time.ctime()))
time.sleep(interval)
print("等待后的時間:%s"%time.ctime())
if __name__=="__main__":
t=Thread(target=mark,args=(3,))
t.daemon=False#設置為非后臺線程,不然會看不到自線程打印效果主線程就直接關閉了
#下面一句會報錯,必須在start()方法之后調用
#t.join(3)
t.start()
#下面語句也會報錯,因為start只能調用一次
#t.start()
print("end")
結果:
實例2:通過繼承Thread,實現線程類
代碼:#通過繼承Thread,實現線程類
from threading import Thread
import time
class MyThread(Thread):
def __init__(self,interval):
#下面語句用來調用基類方法,必須調用
Thread.__init__(self)
self.daemon=False
self.interval=interval
def run(self):
print("循環等待時間時間%d,等待前時間:%s" % (self.interval, time.ctime()))
time.sleep(self.interval)
print("等待后的時間:%s" % time.ctime())
if __name__=="__main__":
t=MyThread(3)
t.start()
#為了方便查看打印效果,加了一秒延遲
time.sleep(1)
print("end")
結果:
相關推薦:
python多線程之thread的詳細介紹
python開發之thread線程基礎實例入門
以上就是Python線程下thread對象的用法介紹(附實例)的詳細內容,更多請關注Gxl網其它相關文章!
本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴
本文系統來源:php中文網
TAG標簽:python
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python线程创建对象_Python线程下thread对象的用法介绍(附实例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 协议处理程序初始化失败_TCP协议、算法
- 下一篇: websocket python爬虫_p