我需要每n秒運行一個進程。我認爲Threading.timer是最好的方法。但是當我運行我的命令時,它不會每隔n秒運行一次,但是會反覆運行,比給定的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()
所以我想要發生的是:它打印你好世界5次,每次之間10秒剎車。但相反,它打印速度更快,並且不會停止。 我是否缺少一些參數,或者是我嘗試運行的進程的問題?我也很感激任何其他更簡單的方法每隔n秒運行一次。
它很好,但正如我所提到的,我的過程需要幾秒鐘的時間才能運行,所以如果我運行它,它會等待5秒鐘,我的過程(需要多少時間),所以下次啓動時間爲5秒+運行流程花費的時間。 – TheAdam122