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

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


咨詢
建站咨詢
