threading.Timer无法调用不能在Python 3中调用它自己的函数

时间:2015-09-20 21:54:44

标签: multithreading recursion timer python-3.4

我似乎无法使用线程模块在特定时间间隔后调用自身,如此线程Run certain code every n seconds

中所示

当我运行该代码的副本时:

 import threading

 def printit():   
    threading.Timer(5.0, printit).start()   
    print("Hello, World!")

 printit()

它将打印“Hello,World!”一次(原始呼叫功能)然后无限制地运行而不打印任何新内容。

我知道模块安装正确,因为我运行时

import threading 
def printit():   
    print ("Hello, World!")

threading.Timer(5.0, printit).start()

它将在打印“Hello,World!”之前等待5秒钟。就像它应该的那样。 我认为问题出在Python 3中,因为链接的Stack Overflow线程以及我看过的其他一些线程都是使用python 2而当我在另一台使用python 2的机器上尝试它时它起作用了。任何关于为什么会发生这种情况或如何解决这个问题的见解都将非常感激。

0 个答案:

没有答案