新聞中心
python中使用多線(xiàn)程處理程序,會(huì)比一步步的處理節(jié)約很多時(shí)間,而且通過(guò)創(chuàng)建并繼承Python的Thread類(lèi),重寫(xiě)run()方法,通過(guò)自定義的線(xiàn)程類(lèi)來(lái)創(chuàng)建線(xiàn)程,本文介紹python多線(xiàn)程Thread類(lèi)定義和如何自定義線(xiàn)程類(lèi)的過(guò)程。

創(chuàng)新互聯(lián)是一家專(zhuān)注于網(wǎng)站制作、做網(wǎng)站與策劃設(shè)計(jì),仁化網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:仁化等地區(qū)。仁化做網(wǎng)站價(jià)格咨詢(xún):18980820575
一、Thread類(lèi)定義
threading.Thread(self, group=None, target=None, name=None,agrs=(),kwargs=None, *, daemon=None)
參數(shù)group是預(yù)留的,用于將來(lái)擴(kuò)展;
參數(shù)target是一個(gè)可調(diào)用對(duì)象,在線(xiàn)程啟動(dòng)后執(zhí)行;
參數(shù)name是線(xiàn)程的名字。默認(rèn)值為“Thread-N“,N是一個(gè)數(shù)字;
參數(shù)args和kwargs分別表示調(diào)用target時(shí)的參數(shù)列表和關(guān)鍵字參數(shù)。
二、自定義線(xiàn)程類(lèi)
1、創(chuàng)建一個(gè)類(lèi),并繼承Python的Thread類(lèi),且重寫(xiě)run()方法實(shí)現(xiàn)具體的執(zhí)行順序由自己來(lái)定義。
from threading import Thread import time #創(chuàng)建一個(gè)類(lèi),并繼承Python的Thread類(lèi),且重寫(xiě)run()方法實(shí)現(xiàn)具體的執(zhí)行順序由自己來(lái)定義 class MyThread(Thread): '''time.sleep代表等待10秒后才執(zhí)行''' def run( self ): time.sleep( 2 ) print ( "我是線(xiàn)程類(lèi)..." ) '''下面這一段是從源碼Thread類(lèi)中的run方法復(fù)制過(guò)來(lái)的,當(dāng)然 沒(méi)有也許,因?yàn)槔^承了Thread,就會(huì)去父類(lèi)里面找,我這里只是測(cè)試用''' 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、定義一個(gè)函數(shù)
def Bar(): print ( "Bar..." )
3、通過(guò)自定義的線(xiàn)程類(lèi)來(lái)創(chuàng)建線(xiàn)程,并且關(guān)聯(lián)函數(shù)Bar,最后執(zhí)行這個(gè)線(xiàn)程。
t1 = MyThread(target = Bar) t1.start() print ( "守護(hù)線(xiàn)程執(zhí)行結(jié)束..." )
需要注意:
自定義線(xiàn)程不能指定target,因?yàn)?,自定義線(xiàn)程里面的任務(wù)統(tǒng)一都在run方法里面;
啟動(dòng)線(xiàn)程統(tǒng)一調(diào)用start方法,不要直接調(diào)用run方法,因?yàn)檫@樣不是使用子線(xiàn)程去執(zhí)行任務(wù)。
以上就是python多線(xiàn)程自定義線(xiàn)程類(lèi)的有關(guān)介紹,希望能對(duì)你有所幫助哦~更多python學(xué)習(xí)推薦:python教程。
標(biāo)題名稱(chēng):創(chuàng)新互聯(lián)Python教程:python多線(xiàn)程如何自定義線(xiàn)程類(lèi)?
當(dāng)前URL:http://m.fisionsoft.com.cn/article/dpddesg.html


咨詢(xún)
建站咨詢(xún)
