仅在距上次执行时间已过两秒时执行方法

我有一个执行两种方法的while循环。我希望 functionB() 每 2 秒执行一次。我知道有一些解决方案可以使用线程使用计时器每两秒执行一次,但这是我不想使用的东西。我希望这两种方法都在 MAIN 线程上运行。


def functionA():

   # Code goes here


def functionB():

   # Code goes here


while True:

        # Execute function A

        functionA() 


        # Periodically execute functionB every 2 seconds

        functionB()

我不确定如何计算上次执行时间与当前时间之间的差异。我在网上搜索了一些例子,但它们似乎让我更加困惑。


任何帮助,将不胜感激。


弑天下
浏览 89回答 1
1回答

喵喵时光机

以秒为单位获取时间戳,并检查自上次执行以来是否经过了 2 秒或更多秒。import time    def functionA():   # Code goes heredef functionB():   # Code goes herelastExec = 0while True:        # Execute function A        functionA()         now = time.time()        if now - lastExec >= 2:           # Periodically execute functionB every 2 seconds           functionB()           lastExec = now
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python