新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

Timer.cancel()后有什么方法重新启用原有任务,timer count

发布时间:2023-08-07 07:55:55

Timer.cancel()后有甚么方法重新启用原有任务

当调用`Timer.cancel()`方法取消一个任务后,没法直接重新启用该任务。取消的任务会被从`Timer`中移除,因此没法再次调用该任务。
如果想要重新启用原有任务,可以创建一个新的`Timer`对象,并将原本的任务添加到新的`Timer`中重新调度。示例以下:
```python
import time
from threading import Timer
def my_task():
print("Task is running...")
# 履行任务的代码
# 创建一个新的Timer对象
timer = Timer(10, my_task)
# 启动新的Timer对象
timer.start()
# 等待一段时间后取消任务
time.sleep(5)
timer.cancel()
# 等待一段时间后重新启动任务
time.sleep(5)
# 创建一个新的Timer对象
new_timer = Timer(10, my_task)
# 启动新的Timer对象
new_timer.start()
```
在上面的示例中,首先创建了一个`Timer`对象并启动了任务。然后等待5秒后取消了任务,并在再等待5秒后重新创建了一个`Timer`对象并启动了原本的任务。这样就实现了重新启用原有任务的效果。