新聞中心
定時(shí)器對(duì)象是使用Thread類(lèi)的子類(lèi)Timer類(lèi)創(chuàng)建的。使用這個(gè)類(lèi),我們可以為任何應(yīng)該在一定時(shí)間后運(yùn)行的操作設(shè)置一個(gè)延遲(計(jì)時(shí)器),并且可以在該延遲期間輕松取消。

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、北關(guān)ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的北關(guān)網(wǎng)站制作公司
計(jì)時(shí)器通過(guò)調(diào)用其start()方法啟動(dòng),就像普通線(xiàn)程一樣。定時(shí)器線(xiàn)程可以通過(guò)調(diào)用其cancel()方法來(lái)停止(在其動(dòng)作開(kāi)始之前)。
定時(shí)器對(duì)象通常用于實(shí)現(xiàn)預(yù)定的任務(wù),這些任務(wù)應(yīng)該只在某個(gè)時(shí)刻之后執(zhí)行。
此外,定時(shí)器對(duì)象沒(méi)有必要在計(jì)劃的時(shí)間之后執(zhí)行,因?yàn)樵诖酥?python intrepreter 會(huì)尋找一個(gè)線(xiàn)程來(lái)執(zhí)行定時(shí)器對(duì)象任務(wù),如果該線(xiàn)程不可用,就會(huì)導(dǎo)致更多的等待。
創(chuàng)建計(jì)時(shí)器對(duì)象的語(yǔ)法
以下是Timer類(lèi)構(gòu)造器的語(yǔ)法:
threading.Timer(interval, function, args=[], kwargs={})這樣,我們可以創(chuàng)建一個(gè)計(jì)時(shí)器對(duì)象,在經(jīng)過(guò)interval秒后,該對(duì)象將運(yùn)行帶有參數(shù)args和關(guān)鍵字參數(shù)kwargs的功能。
Timer類(lèi)方法
在Timer類(lèi)中,我們有兩種方法用于啟動(dòng)和取消定時(shí)器對(duì)象的執(zhí)行。
start()方法
此方法用于啟動(dòng)計(jì)時(shí)器對(duì)象的執(zhí)行。當(dāng)我們調(diào)用這個(gè)方法時(shí),定時(shí)器對(duì)象啟動(dòng)它的定時(shí)器。
cancel()方法
此方法用于停止計(jì)時(shí)器并取消計(jì)時(shí)器對(duì)象操作的執(zhí)行。這只有在計(jì)時(shí)器尚未執(zhí)行其動(dòng)作的情況下才會(huì)起作用。
舉個(gè)例子
下面我們有一個(gè)簡(jiǎn)單的例子,我們創(chuàng)建一個(gè)定時(shí)器對(duì)象并啟動(dòng)它。
import threading
def task():
print("timer object task running...")
if __name__=='__main__':
t = threading.Timer(10, task)
t.start() # after 10 seconds, task will be executed 上面的程序是一個(gè)簡(jiǎn)單的程序,現(xiàn)在讓我們使用 cancel 方法來(lái)取消 timer 對(duì)象任務(wù)的執(zhí)行。
在上面的程序中,首先注釋第 13 行和第 14 行的代碼并運(yùn)行程序,然后取消注釋這些行,并看到cancel()方法在起作用。
標(biāo)題名稱(chēng):計(jì)時(shí)器對(duì)象——Python多線(xiàn)程
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/dhijidc.html


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