繁体   English   中英

Python Flask 应用程序的线程未并行运行

[英]Python Flask Application with Threads not running parallel

我正在尝试构建一个 Python 程序,该程序通过 UDP 发送数据并有一个网站进行设置。 对于这个程序,我需要一个脚本来运行 flask 网络服务器和一个脚本来同时提取数据。 我想使用线程同时运行进程(Flask 服务器和数据拉/发送部分)。 因为我需要一直运行提取数据的部分,所以我做了“While True:”,所以它一直在运行但是当我启动我的线程时,只有提取数据的线程正在运行。 我认为问题在于,我并没有真正同时运行 2 个线程。 但我认为使用线程应该可以同时运行 flask 线程和数据线程。 但我无法让它工作,我无法找出问题所在。

这是我试图启动两个线程的文件:

import threading
import time
import mainl
import webserver

class mydata(threading.Thread):
    def __init__(self, iD, name):
        threading.Thread.__init__(self)
        self.iD = iD
        self.name = name
    def run(self):
        mainl.mainloop()

class mywebserver(threading.Thread):
    def __init__(self, iD, name):
        threading.Thread.__init__(self)
        self.iD = iD
        self.name = name

    def run(self):
        webserver()

t1 = mydata(1, "t1")
t2 = mywebserver(2, "t2")
t2.start()
t1.start()

这是提取数据的文件,它应该始终运行,这就是我使用“While True:”的原因:

def mainloop():
    while True:
        import data1
        import data2
        import data3

        ###UDP###
        ip_adress = "192.168.178.150"
        udp_port = 8888

        text = ""
        data1 = data1.daten()
        data2 = data2.daten()
        data3 = data3.daten()
        # print("Coin STR", coin)
        time.sleep(3)
        text = "data1   data2   data3"
        send.senden(ip_adress, udp_port, text)

我发现了问题,导入中的循环在导入时开始了。 所以程序没有继续。

现在我在主 function 中运行导入。

有关更多信息,我可以推荐: https://www.guru99.com/learn-python-main-function-with-examples-understand-main.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM