[英]How to make Non-blocking timer in Python
我需要你的帮助。
我需要一个非阻塞的计时器,它允许我在它仍在计数的时间内完成其他任务。 我的机器人需要这个功能,显然我不想一直阻止它,我调用这种需要这些计时器的功能。
因此,过去我曾经在 Arduino (c++) 中使用相同配置中的函数 millis() 似乎无法正常工作
int t0 =0
int t1
void loop(){
t1= millis()
while (t1-t0 < 6000){
Serial.print(Timer!);
t0 = millis();}}
你对我有什么建议吗? 我可以从哪里开始的代码? 谢谢!
以下将打印"Timer"
6 秒:
import time
start_time = time.time() # returns number of seconds passed since epoch
current_time = time.time()
max_loop_time = 6 # 6 seconds
while (current_time - start_time) <= max_loop_time:
# do stuff
print("Timer")
current_time = time.time()
好的,我自己找到了解决方案,试图记住我之前在 Arduino 上所做的事情。
我基于 Adam Minas 的答案,但我的完全不同
所以预期的行为必须是:每 5 秒打印一次(某事),所以:
import time
start_time = time.time() # returns number of seconds passed since epoch
#current_time = time.time()
print(start_time)
max_loop_time = 20 # 6 seconds
while True:
while (time.time() - start_time) > max_loop_time:
print("Timer")
start_time = time.time()
然后你可以用 break 和其他函数来停止你的 while 循环
if == smth :
break
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.