在 main 中调用一次时,Python 线程运行两次

标签 python multithreading flask bottle

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/

相关文章:

python - 如何在 C 中实现 Python Set

python - 如何在 for 循环中创建嵌套字典(不使用 defaultdict)?

python - 使用 App Engine 服务帐户时出现链接损坏错误

python - Flask-SQLAlchemy 过滤器和运算符

python flask请求钩子(Hook)

Python虚拟环境(venv): Share libraries in usage and dev/test venvs

android - 在服务调用的线程中获取上下文

android - 实现用于更新 UI 的监听器接口(interface)的主要 Activity

java - 多线程环境下如何解决内存泄漏?

python - Amazon EC2 上的 Flask 应用程序