【发布时间】:2020-07-31 21:33:49
【问题描述】:
我尝试将一个方法作为线程调用,然后在 StartServer 方法在后台运行时调用另一个方法,但是当执行 self.Thread.run() 时,代码卡住了。有任何想法吗 ?我尝试将启动服务器放在另一个类中,在一个外部函数中,但我仍然有这个问题。
import time
import webview
import threading
from flask import Flask
class Windows:
def __init__(self, EntryPoint = "index.html"):
self.EntryPointContent = self.ReadPage(EntryPoint)
self.Thread = threading.Thread(target = self.StartServer)
self.Thread.daemon = True
self.Thread.run()
self.ShowWindows()
def StartServer(self):
app = Flask(__name__)
app.debug = False
app.reloader = False
@app.route("/")
def root():
return self.EntryPointContent
app.run()
def ReadPage(self, FileName):
File = open(FileName, "r")
return File.read()
def ShowWindows(self):
webview.create_window("Hey !", "http://localhost:5000")
webview.start()
app = Windows(EntryPoint="page.html")
【问题讨论】:
-
尝试从新线程调用类。
标签: python multithreading flask