if __name__ == '__main__':
t = threading.Thread(target = authtarget)
t.daemon = True
t.start()
print 'running thread'
app.run(debug=True)
这个 main 在我们的服务器中,app.run 将启动服务器并能够处理请求。我们正在制作的线程是一个计时器,每 5 秒检查一次特定的 if 语句。但是,t.start() 将创建两个线程而不是一个。我们已经尝试将 t.start() 更改为 t.run(),但是当我们这样做时,我们永远无法进入运行服务器所需的 app.run。
def authtarget():
sp = Spotify()
db = Database()
resultList = []
while True:
time.sleep(5)
sp.timer(204)
timer() 是我们需要每 5 秒调用一次的函数。 但是,使用我们目前的代码,计时器会被调用两次,而不是每 5 秒调用一次
最佳答案
谢谢大家,我只是将 app.run(debug=True) 更改为 app.run(debug=False) 这样它就不会运行两次
关于在 main 中调用一次时,Python 线程运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43644083/