python - 第一次使用后再次启动threading.Timer
问题描述
我正在 Pygame 中开发 Snake 游戏,但遇到了一个小问题:我的 Snake 移动得太快了。我以为我可以使用 time.sleep(),但是这样程序会自行停止并且不再注册按键。所以我在互联网上寻找其他选项,我发现我可以使用线程。这是一个很好的解决方案,但我实际上在使用后无法重新启动计时器。
import threading
def mythread():
print("hello")
t=threading.Timer(3.0,mythread)
我运行测试代码,然后我尝试运行命令
t.start()
但我收到此错误消息:
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
t.start()
RuntimeError: threads can only be started once
我只是希望能够再次启动计时器,有没有办法做到这一点?
解决方案
推荐阅读
- java - 转换器java程序中的FTextField、Jlabel等错误
- microsoft-dynamics - 日期筛选器未筛选正确的数据,如何处理 Dynamics 365、PSA 中的错误
- python - 为什么当我将 OpenCV 与线程一起使用时会崩溃?
- sql - 在 GROUP BY 查询中除以值
- spring-boot - EntityManager 与 Spring Data JPA 的存储库
- spring - 使用 Criteria 查询数组列是否包含
- python - Selenium Python ActionChain 不工作(不可交互元素)
- r - 在尊重可变对比度编码的同时,如何使用 anova() 对 lm 和 lmer 对象进行显着性测试?
- python - Python 字典 - 如何将多个值作为字符串返回
- arrays - 无法获得每个学生的姓名和年龄。相反,我得到了奇怪的字符和年龄 = 0?