【发布时间】:2017-03-27 18:14:04
【问题描述】:
我需要每 n 秒运行一个进程。我认为 Threading.timer 是最好的方法。但是当我运行我的命令时,它不会每隔 n 秒运行一次,而是开始一遍又一遍地运行,比给定的 n 时间短得多,并且循环不可停止。这是我的代码:
#!/usr/bin/python
import threading
import time
brake = 10
k = int(5)
def printit():
for x in range(k):
threading.Timer((int(brake)), printit).start()
print "Hello World!"
#i have a longer process here, it takes a few seconds to run
#i give more than double of the time needed to run it
printit()
所以我想要发生的是:它打印 Hello world 5 次,每次之间有 10 秒的刹车。但是相反,它的打印速度要快得多并且不会停止。 我是否缺少一些参数,或者我尝试运行的过程有问题?我也很欣赏任何其他更简单的方法来每 n 秒运行一次进程。
【问题讨论】:
标签: python python-multithreading