我正在使用IDLE在python中使用线程和Flask编写初学者脚本。
当我使用 ctrl + c 退出或在IDLE中单击“停止”时,脚本仍继续在后台运行。
我的代码有什么问题?
from flask import Flask, render_template
import datetime
import threading
import time
xa=0
def f1():
i=1
while(1):
global xa
xa=xa+1
print(xa, "in f1")
time.sleep(3)
t1=threading.Thread(target=f1)
t1.start()
app = Flask(name)
@app.route("/")
def hello():
now = datetime.datetime.now()
timeString = now.strftime("%Y-%m-%d %H:%M")
templateData = {
'title' : xa,
'time': timeString
}
return render_template('index.html', **templateData)
if name == "main":
app.run(host='0.0.0.0', port=5000, debug=True, threaded=True)
我需要在后台运行应用程序并完成工作 每次用户想要答案时,在浏览器中查看答案 我该如何处理螺纹和烧瓶?
答案 0 :(得分:0)
尝试以下操作:
t1=threading.Thread(target=f1)
t1.daemon = True
t1.start()
如果您不将线程设为守护程序线程,即使您杀死主线程,它也将继续运行,因此,当您尝试 ctrl + c 时,程序不会退出。 / p>