python - 如何使用 while 循环对 Flask 应用程序和函数进行线程化以同时运行?

标签 python python-3.x multithreading flask

我有一个 Flask 应用程序,我想将其与在后台运行的 while 循环一起使用。我的第一个想法是使用线程同时运行它们。我偶然发现的问题是只有第一个线程有效(无论是 Flask 应用程序还是带有 while 循环的函数首先出现)。我的代码是:

from multiprocessing import Process

if __name__ == '__main__':
    Process(target = app.run(host='0.0.0.0', port=8080)).start()
    Process(target = statupdate()).start()

注意:我还使用了“thread”库,并使 Flask 应用程序拥有自己的功能。

有什么方法可以修复此错误或同时运行两者吗?

最佳答案

您有几个问题:

  • 在这种情况下,您不是线程化的,而是多重处理的。这是完全不同的东西,但仍然会实现您所寻求的。
  • 您正在运行这些函数,而不是将它们作为目标。

为了使其正常工作,请不要运行该函数:

Process(target=app.run, kwargs=dict(host='0.0.0.0', port=8080)).start()
Process(target=statupdate).start()

关于python - 如何使用 while 循环对 Flask 应用程序和函数进行线程化以同时运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55436443/

相关文章:

python-3.x - 对字符串使用 split 方法会返回空字符串

python - 从 Python 中使用 OpenMP 调用 C 函数会导致最后出现段错误

c# - Powershell 自定义 cmdlet 在标准方法的实现之外调用 WriteVerbose

multithreading - 可重用屏障算法

python - 挤压喀拉斯

python - python语法错误中的方程式求解器

python - 是否可以查询z3的Python API是否发生超时?

python - 如何将 datetime.date 对象转换为 time.struct_time 对象?

python - 如何在 Flask-RESTful 中添加自定义 HTTP 响应 header ?

python - Python import 是否将所有代码复制到文件中