摘要:上一篇文章線程專題多線程共享全局變量下一篇文章線程專題對(duì)象對(duì)象對(duì)象對(duì)象類用于表示多帶帶的控制線程。線程啟動(dòng)時(shí)將調(diào)用此方法。阻塞線程,等待直到線程終止或者出現(xiàn)超時(shí)為止。當(dāng)不存在任何任何活動(dòng)的非后臺(tái)進(jìn)程時(shí),整個(gè)程序會(huì)退出。
上一篇文章:Python線程專題2:多線程共享全局變量Thread對(duì)象
下一篇文章:Python線程專題4:Timer對(duì)象、Lock對(duì)象、Rlock對(duì)象
Thread類用于表示多帶帶的控制線程。
語法:t=Thread(group=None,target=None,name=None,args=(),kwargs={}) 創(chuàng)建一個(gè)新的Thread實(shí)例:t group:為以后擴(kuò)張保留的,默認(rèn)為None target:一個(gè)可調(diào)用對(duì)象,線程啟動(dòng)時(shí),run()方法將調(diào)用此對(duì)象 name:線程名稱,默認(rèn)創(chuàng)建一個(gè)“Thread-N”格式的唯一名稱。 args:傳遞給target函數(shù)的參數(shù)元祖 kwargs:傳遞給target的關(guān)機(jī)字參數(shù)的字典。常用屬性于方法
t.start():通過在一個(gè)多帶帶的控制線程中調(diào)用run(),啟動(dòng)線程,此方法只能被調(diào)用一次。 t.run():線程啟動(dòng)時(shí)將調(diào)用此方法。默認(rèn)情況下,他會(huì)調(diào)用目標(biāo)函數(shù)target。還可以在Thread的子類中重新定義此方法。 t.join([timeout]):阻塞線程,等待直到線程終止或者出現(xiàn)超時(shí)為止。timeout是以秒為單位的超時(shí)時(shí)間。 線程啟動(dòng)之前不能調(diào)用此方法,否則會(huì)報(bào)錯(cuò)。 t.is_alive:如果線程是活動(dòng)的,返回True,否則返回False,從start()返回的那一刻開始,線程就是活動(dòng)的, 直到run()方法終止為止。 t.name:線程名稱,這個(gè)字符串用于唯一標(biāo)識(shí),可以根據(jù)需要將它更改為更有意義的值, t.ident:整數(shù)線程標(biāo)識(shí)符,如果線程尚未啟動(dòng),它的值為None。 t.daemon:如果線程是后臺(tái)線程,該值為True,否則未False。當(dāng)不存在任何任何活動(dòng)的非后臺(tái)進(jìn)程時(shí),整個(gè)程序會(huì)退出。實(shí)例1:利用Thread對(duì)象,簡(jiǎn)單創(chuàng)建一個(gè)線程,并啟動(dòng)一個(gè)函數(shù)
#利用Thread對(duì)象,簡(jiǎn)單創(chuàng)建一個(gè)線程,并啟動(dòng)一個(gè)函數(shù) from threading import Thread import time def mark(interval): print("循環(huán)等待時(shí)間時(shí)間%d,等待前時(shí)間:%s"%(interval,time.ctime())) time.sleep(interval) print("等待后的時(shí)間:%s"%time.ctime()) if __name__=="__main__": t=Thread(target=mark,args=(3,)) t.daemon=False#設(shè)置為非后臺(tái)線程,不然會(huì)看不到自線程打印效果主線程就直接關(guān)閉了 #下面一句會(huì)報(bào)錯(cuò),必須在start()方法之后調(diào)用 #t.join(3) t.start() #下面語句也會(huì)報(bào)錯(cuò),因?yàn)閟tart只能調(diào)用一次 #t.start() print("end")
代碼:
#通過繼承Thread,實(shí)現(xiàn)線程類 from threading import Thread import time class MyThread(Thread): def __init__(self,interval): #下面語句用來調(diào)用基類方法,必須調(diào)用 Thread.__init__(self) self.daemon=False self.interval=interval def run(self): print("循環(huán)等待時(shí)間時(shí)間%d,等待前時(shí)間:%s" % (self.interval, time.ctime())) time.sleep(self.interval) print("等待后的時(shí)間:%s" % time.ctime()) if __name__=="__main__": t=MyThread(3) t.start() #為了方便查看打印效果,加了一秒延遲 time.sleep(1) print("end")
結(jié)果:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/42393.html
摘要:上一篇文章線程專題多線程使用的必要性下一篇文章線程專題對(duì)象在一個(gè)進(jìn)程內(nèi)的所有線程共享全局變量。但多線程對(duì)全局變量的更改會(huì)導(dǎo)致變量值得混亂。 上一篇文章: Python線程專題1:多線程使用的必要性下一篇文章:Python線程專題3:thread對(duì)象 在一個(gè)進(jìn)程內(nèi)的所有線程共享全局變量。但多線程對(duì)全局變量的更改會(huì)導(dǎo)致變量值得混亂。 實(shí)例:驗(yàn)證同一個(gè)進(jìn)程內(nèi)所有線程共享全局變量 代碼: #...
摘要:上一篇文章進(jìn)程專題完結(jié)篇多進(jìn)程處理的一般建議下一篇文章線程專題多線程使用的必要性進(jìn)程線程進(jìn)程能夠完成多任務(wù),比如在一個(gè)電腦上可以運(yùn)行多個(gè)軟件。由于占用資源少,也使得多線程程序并發(fā)比較高。 上一篇文章:Python進(jìn)程專題完結(jié)篇:多進(jìn)程處理的一般建議下一篇文章:Python線程專題1:多線程使用的必要性 進(jìn)程VS線程 進(jìn)程:能夠完成多任務(wù),比如在一個(gè)電腦上可以運(yùn)行多個(gè)軟件。線程:也能夠...
摘要:語法創(chuàng)建定時(shí)器對(duì)象,在秒后運(yùn)行函數(shù),和提供傳遞給的參數(shù)和關(guān)鍵字參數(shù)。在調(diào)用方法后才能啟動(dòng)計(jì)定時(shí)器。如果函數(shù)還未執(zhí)行,取消定時(shí)器。否則,鎖將保持已鎖定狀態(tài)。 上一篇文章:Python線程專題3:thread對(duì)象下一篇文章:Python線程專題5:信號(hào)量與有邊界的信號(hào)量 Timer對(duì)象、Lock對(duì)象、Rlock對(duì)象 Timer對(duì)象 Timer對(duì)象用于在稍后的某個(gè)時(shí)間執(zhí)行一個(gè)函數(shù)。 語法:...
摘要:上一篇文章線程專題使用鎖的注意事項(xiàng)下一篇文章線程專題多線程按順序執(zhí)行線程沒有任何方法可用于強(qiáng)制終止或掛起。實(shí)用工具函數(shù)函數(shù)名解釋返回當(dāng)前活動(dòng)的對(duì)象數(shù)量。 上一篇文章:Python線程專題8:使用鎖的注意事項(xiàng)下一篇文章:Python線程專題10:queue、多線程按順序執(zhí)行 線程沒有任何方法可用于強(qiáng)制終止或掛起。這是設(shè)計(jì)上的原因,因?yàn)榫帉懢€程程序本身十分復(fù)雜。例如:如果某個(gè)線程已經(jīng)獲取...
摘要:有邊界的信號(hào)量語法創(chuàng)建一個(gè)新的有邊界信號(hào)量。是計(jì)數(shù)器的初始值,如果忽略,將默認(rèn)為信號(hào)量與有邊界的信號(hào)量的區(qū)別的工作方式與完全相同,但操作的次數(shù)不能超過的操作次數(shù)。信號(hào)量與互斥鎖的微妙差別信號(hào)量可用于發(fā)送信號(hào)。 上一篇文章:Python線程專題4:Timer對(duì)象、Lock對(duì)象、Rlock對(duì)象下一篇文章:Python線程專題6:事件 信號(hào)量與有邊界的信號(hào)量 信號(hào)量是一個(gè)基于計(jì)數(shù)器的同步原...
閱讀 2972·2021-09-22 15:20
閱讀 3105·2021-09-22 15:19
閱讀 3614·2021-09-22 15:15
閱讀 2624·2021-09-08 09:35
閱讀 2454·2019-08-30 15:44
閱讀 3098·2019-08-30 10:50
閱讀 3916·2019-08-29 16:25
閱讀 1675·2019-08-26 13:55