簡體   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