溫馨提示×

Timer.cancel()后有什么方法重新啟用原有任務

小云
390
2023-08-05 21:33:43
欄目: 編程語言

當調用Timer.cancel()方法取消一個任務后,無法直接重新啟用該任務。取消的任務會被從Timer中移除,因此無法再次調用該任務。

如果想要重新啟用原有任務,可以創(chuàng)建一個新的Timer對象,并將原有的任務添加到新的Timer中重新調度。示例如下:

import time
from threading import Timer
def my_task():
print("Task is running...")
# 執(zhí)行任務的代碼
# 創(chuàng)建一個新的Timer對象
timer = Timer(10, my_task)
# 啟動新的Timer對象
timer.start()
# 等待一段時間后取消任務
time.sleep(5)
timer.cancel()
# 等待一段時間后重新啟動任務
time.sleep(5)
# 創(chuàng)建一個新的Timer對象
new_timer = Timer(10, my_task)
# 啟動新的Timer對象
new_timer.start()

在上面的示例中,首先創(chuàng)建了一個Timer對象并啟動了任務。然后等待5秒后取消了任務,并在再等待5秒后重新創(chuàng)建了一個Timer對象并啟動了原有的任務。這樣就實現(xiàn)了重新啟用原有任務的效果。

0