为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

弑天下 2022-06-07 17:12:46
我有一个执行两种方法的while循环。我希望 functionB() 每 2 秒执行一次。我知道有一些解决方案可以使用线程使用计时器每两秒执行一次,但这是我不想使用的东西。我希望这两种方法都在 MAIN 线程上运行。def functionA():   # Code goes heredef functionB():   # Code goes herewhile True:        # Execute function A        functionA()         # Periodically execute functionB every 2 seconds        functionB()我不确定如何计算上次执行时间与当前时间之间的差异。我在网上搜索了一些例子,但它们似乎让我更加困惑。任何帮助,将不胜感激。
查看完整描述

1 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

以秒为单位获取时间戳,并检查自上次执行以来是否经过了 2 秒或更多秒。


import time    

def functionA():

   # Code goes here


def functionB():

   # Code goes here

lastExec = 0

while True:

        # Execute function A

        functionA() 


        now = time.time()

        if now - lastExec >= 2:

           # Periodically execute functionB every 2 seconds

           functionB()

           lastExec = now


查看完整回答
反对 回复 2022-06-07
  • 1 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信