0

我想在python中以高频率执行任务,其中任务执行时间相对于周期而言较高。

通常,我会使用一个重新发布自己的线程,例如:

from threading import Thread

class PeriodicThread(Thread):
    def run(self):
        while 1:
            self.f(*self.args, **self.kwargs)
            sleep(self.period)

但是,这仅适用于 的执行时间self.f与 相比可以忽略不计的情况self.period

我对如何执行此操作的最初想法包括注意此循环的开始时间,并适当调整睡眠时间,或者将线程基于由另一个线程递增的计数信号量。

这两者似乎都不必要地令人费解。有没有更好的方法来实现这一目标?

4

0 回答 0