You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现独立运行且可交互的定时器与业务代码程序?

需求与问题

我需要实现一个带独立定时器的循环程序,核心要求是:每次循环迭代时,程序能从定时器的剩余倒计时位置继续执行——也就是说,定时器运行期间,下一次迭代要直接跳转到当前剩余时间的位置。

尝试的错误代码

import time
import threading

def scan_if_won():
    # 返回True或False
    pass

def wait_for_start_signal():
    # 返回True或False
    pass
    
def main():
    print("Action 0") 
    while True:
            time.sleep(20) # 或其他定时器函数
            while wait_for_start_signal() == False: # 通常耗时6-9秒,时长不确定
                    start = wait_for_start_signal()
                    if start == True:
                        break
                    
            # 重置定时器,从20开始倒计时
                    
            time.sleep(3)
            result = scan_if_won() # 扫描非即时操作,耗时1-2秒
                if result == False
                    print("Action 1") 
                if result == True
                    print("Action 2")

            # 现在需要实现:下一次循环的time.sleep()值应为20 - 3 - scan_if_won()的耗时
            
main()

遇到的困惑

  • 原代码无法实现“从定时器剩余时间继续执行”的核心需求
  • 考虑用threading实现独立定时器,但不知道如何在循环内启动/终止线程,以及如何在线程间共享定时器当前剩余时间的变量
  • 补充问题:程序运行时,胜负动作(Action 1和Action 2)会同时触发两次,推测是线程未正确终止导致的

内容的提问来源于stack exchange,提问作者George Rabus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 09:03:19