成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python線程專題3:thread對象

EdwardUp / 1908人閱讀

摘要:上一篇文章線程專題多線程共享全局變量下一篇文章線程專題對象對象對象對象類用于表示多帶帶的控制線程。線程啟動時將調(diào)用此方法。阻塞線程,等待直到線程終止或者出現(xiàn)超時為止。當(dāng)不存在任何任何活動的非后臺進(jìn)程時,整個程序會退出。

上一篇文章:Python線程專題2:多線程共享全局變量
下一篇文章:Python線程專題4:Timer對象、Lock對象、Rlock對象
Thread對象

Thread類用于表示多帶帶的控制線程。

語法:
t=Thread(group=None,target=None,name=None,args=(),kwargs={})
創(chuàng)建一個新的Thread實(shí)例:t

group:為以后擴(kuò)張保留的,默認(rèn)為None

target:一個可調(diào)用對象,線程啟動時,run()方法將調(diào)用此對象

name:線程名稱,默認(rèn)創(chuàng)建一個“Thread-N”格式的唯一名稱。

args:傳遞給target函數(shù)的參數(shù)元祖

kwargs:傳遞給target的關(guān)機(jī)字參數(shù)的字典。
常用屬性于方法
t.start():通過在一個多帶帶的控制線程中調(diào)用run(),啟動線程,此方法只能被調(diào)用一次。

t.run():線程啟動時將調(diào)用此方法。默認(rèn)情況下,他會調(diào)用目標(biāo)函數(shù)target。還可以在Thread的子類中重新定義此方法。

t.join([timeout]):阻塞線程,等待直到線程終止或者出現(xiàn)超時為止。timeout是以秒為單位的超時時間。
線程啟動之前不能調(diào)用此方法,否則會報錯。

t.is_alive:如果線程是活動的,返回True,否則返回False,從start()返回的那一刻開始,線程就是活動的,
直到run()方法終止為止。

t.name:線程名稱,這個字符串用于唯一標(biāo)識,可以根據(jù)需要將它更改為更有意義的值,

t.ident:整數(shù)線程標(biāo)識符,如果線程尚未啟動,它的值為None。

t.daemon:如果線程是后臺線程,該值為True,否則未False。當(dāng)不存在任何任何活動的非后臺進(jìn)程時,整個程序會退出。
實(shí)例1:利用Thread對象,簡單創(chuàng)建一個線程,并啟動一個函數(shù)
代碼:
#利用Thread對象,簡單創(chuàng)建一個線程,并啟動一個函數(shù)
from threading import Thread
import time
def mark(interval):
    print("循環(huán)等待時間時間%d,等待前時間:%s"%(interval,time.ctime()))
    time.sleep(interval)
    print("等待后的時間:%s"%time.ctime())

if __name__=="__main__":
    t=Thread(target=mark,args=(3,))
    t.daemon=False#設(shè)置為非后臺線程,不然會看不到自線程打印效果主線程就直接關(guān)閉了
    #下面一句會報錯,必須在start()方法之后調(diào)用
    #t.join(3)
    t.start()
    #下面語句也會報錯,因?yàn)閟tart只能調(diào)用一次
    #t.start()
    print("end")
結(jié)果:

實(shí)例2:通過繼承Thread,實(shí)現(xiàn)線程類

代碼:

#通過繼承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)等待時間時間%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")

結(jié)果:

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42393.html

相關(guān)文章

  • Python線程專題2:多線程共享全局變量

    摘要:上一篇文章線程專題多線程使用的必要性下一篇文章線程專題對象在一個進(jìn)程內(nèi)的所有線程共享全局變量。但多線程對全局變量的更改會導(dǎo)致變量值得混亂。 上一篇文章: Python線程專題1:多線程使用的必要性下一篇文章:Python線程專題3:thread對象 在一個進(jìn)程內(nèi)的所有線程共享全局變量。但多線程對全局變量的更改會導(dǎo)致變量值得混亂。 實(shí)例:驗(yàn)證同一個進(jìn)程內(nèi)所有線程共享全局變量 代碼: #...

    Tangpj 評論0 收藏0
  • Python線程專題縱覽篇

    摘要:上一篇文章進(jìn)程專題完結(jié)篇多進(jìn)程處理的一般建議下一篇文章線程專題多線程使用的必要性進(jìn)程線程進(jìn)程能夠完成多任務(wù),比如在一個電腦上可以運(yùn)行多個軟件。由于占用資源少,也使得多線程程序并發(fā)比較高。 上一篇文章:Python進(jìn)程專題完結(jié)篇:多進(jìn)程處理的一般建議下一篇文章:Python線程專題1:多線程使用的必要性 進(jìn)程VS線程 進(jìn)程:能夠完成多任務(wù),比如在一個電腦上可以運(yùn)行多個軟件。線程:也能夠...

    張紅新 評論0 收藏0
  • Python線程專題4:Timer對象、Lock對象、Rlock對象

    摘要:語法創(chuàng)建定時器對象,在秒后運(yùn)行函數(shù),和提供傳遞給的參數(shù)和關(guān)鍵字參數(shù)。在調(diào)用方法后才能啟動計(jì)定時器。如果函數(shù)還未執(zhí)行,取消定時器。否則,鎖將保持已鎖定狀態(tài)。 上一篇文章:Python線程專題3:thread對象下一篇文章:Python線程專題5:信號量與有邊界的信號量 Timer對象、Lock對象、Rlock對象 Timer對象 Timer對象用于在稍后的某個時間執(zhí)行一個函數(shù)。 語法:...

    Edison 評論0 收藏0
  • Python線程專題9:線程終止與掛起、實(shí)用工具函數(shù)

    摘要:上一篇文章線程專題使用鎖的注意事項(xiàng)下一篇文章線程專題多線程按順序執(zhí)行線程沒有任何方法可用于強(qiáng)制終止或掛起。實(shí)用工具函數(shù)函數(shù)名解釋返回當(dāng)前活動的對象數(shù)量。 上一篇文章:Python線程專題8:使用鎖的注意事項(xiàng)下一篇文章:Python線程專題10:queue、多線程按順序執(zhí)行 線程沒有任何方法可用于強(qiáng)制終止或掛起。這是設(shè)計(jì)上的原因,因?yàn)榫帉懢€程程序本身十分復(fù)雜。例如:如果某個線程已經(jīng)獲取...

    dunizb 評論0 收藏0
  • Python線程專題5:信號量與有邊界的信號量

    摘要:有邊界的信號量語法創(chuàng)建一個新的有邊界信號量。是計(jì)數(shù)器的初始值,如果忽略,將默認(rèn)為信號量與有邊界的信號量的區(qū)別的工作方式與完全相同,但操作的次數(shù)不能超過的操作次數(shù)。信號量與互斥鎖的微妙差別信號量可用于發(fā)送信號。 上一篇文章:Python線程專題4:Timer對象、Lock對象、Rlock對象下一篇文章:Python線程專題6:事件 信號量與有邊界的信號量 信號量是一個基于計(jì)數(shù)器的同步原...

    Dionysus_go 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<