用Python实现一个毫秒级Timer,间隔执行各种任务
问题
如果想间隔一定时间发送一些数据,或者处理某一个任务,python里面比较简单的实现方式是sleep,但是简单的sleep会随着任务的持续执行,和最开始的时间偏离越来越大。主要原因有两个
python中sleep执行的时间并不精确,难以做到毫秒级的精度任务本身执行的时候会和sleep执行的时间累加
为了解决上面两个问题,设计了下面的代码
实现
from time import sleep, time
class RepeatedTimer(object):
def __init__(self, interval, function, *args, **kwargs):
self.interval = interval
self.function = function
self.is_running = False
self.
共有 0 条评论