Python Timer cancel()實(shí)例講解

小云
107
2023-09-28 07:55:03
欄目: 編程語言

Timer是Python中的一個(gè)定時(shí)器類,它用于在一定時(shí)間后執(zhí)行指定的函數(shù)。Timer類中的cancel()方法可以用來取消定時(shí)器的執(zhí)行。

下面是一個(gè)使用cancel()方法的簡單示例:

from threading import Timer
def hello():
print("Hello, World!")
# 創(chuàng)建一個(gè)定時(shí)器,延遲5秒后執(zhí)行hello函數(shù)
t = Timer(5.0, hello)
# 啟動(dòng)定時(shí)器
t.start()
# 取消定時(shí)器
t.cancel()
print("Timer canceled")

在上面的示例中,首先我們定義了一個(gè)名為hello的函數(shù),它會(huì)在被調(diào)用時(shí)打印"Hello, World!"。然后,我們使用Timer類創(chuàng)建了一個(gè)定時(shí)器對(duì)象t,將延遲時(shí)間設(shè)置為5秒,并指定要執(zhí)行的函數(shù)為hello。接著,我們調(diào)用start()方法啟動(dòng)定時(shí)器。

在定時(shí)器啟動(dòng)后,我們立即調(diào)用cancel()方法來取消定時(shí)器。最后,我們打印出"Timer canceled"。

由于我們?cè)趩?dòng)定時(shí)器之后立即取消了定時(shí)器,所以定時(shí)器的執(zhí)行函數(shù)hello不會(huì)被調(diào)用,輸出結(jié)果中沒有"Hello, World!"。

需要注意的是,一旦定時(shí)器被取消,它將不能再次啟動(dòng)。因此,如果我們嘗試在cancel()方法之后調(diào)用start()方法,會(huì)引發(fā)一個(gè)RuntimeError異常。

上述示例中使用了Python中的threading模塊的Timer類來實(shí)現(xiàn)定時(shí)器功能。

0