我需要每秒运行一个特定的功能。我搜索了一个解决方案,并发现了this one:
import threading
def printit():
threading.Timer(5.0, printit).start()
print "Hello, World!"
printit()
似乎是我一直在寻找的代码。但是在运行这些代码行20分钟之后,我得到了以下错误消息:
线程Thread-1896中的异常:追溯(最近一次调用为最新): _bootstrap_inner中的文件“ /usr/lib/python3.5/threading.py”,第914行 运行文件中的文件“ /usr/lib/python3.5/threading.py”,行1180 “ /home/pi/scanner/api/brightness.py”,第37行,在Adjust_brightness中 在get_brightness中的第14行,文件“ /home/pi/scanner/api/brightness.py” OSError:[Errno 24]打开的文件太多
似乎每次调用该函数都会启动一个新线程。有没有一种方法可以在生成新线程之前停止上一个线程?还是有其他解决方案不会发生这种情况?