0.最近在使用flask写个小程序,然后下载的是flask1.0.2版本
查看源码:
发现threaded默认的是True,网上说默认是False的,不一致。
使用IE浏览器发送请求(chrome发送相同请求每次都是同步处理的,郁闷),测试一下两种情况:
1.单独使用flask
import flask
import json
import time
import _thread
server = flask.Flask(__name__) # 创建1个Flask实例
# 测试get请求
@server.route('/testget', methods=['get'])
def do_get():
print(f">>>>{_thread.get_ident()}")
for i in range(3):
time.sleep(1)
print(f">>>这是第{i+1}秒")
res = {'msg': '这是我开发的第一个get接口', 'msg_code':0}
print(">>>返回")
return json.dumps(res, ensure_ascii=False)
if __name__ == '__main__':
server.run(port=8008, host='172.16.120.250')
不加threaded参数测试发现每次请求打印出来的线程id都不一致,请求是异步处理的
加上threaded=False测试发现每次请求打印出来的线程id都一致,请求是同步处理的
2.给服务器弄个界面
预想是点击启动然后后台启服务器
由于tkinter和flask冲突,目前是在起一个线程跑的flask:
# 启动flask服务器接收请求
def start_server():
server.run(port=8008, host=get_host_ip(), threaded=False)
# 另开一个线程启动服务器
def create_thread(start_button):
_thread.start_new_thread(start_server, ())
start_button.config(state='disabled') # 置灰按钮
close_tk() # 最小化窗口
不加threaded参数,发现每次请求打印出来的线程id都不一致,请求是异步处理的
加上threaded=False测试发现每次请求打印出来的线程id都一致,请求是同步处理的
版权声明:本文为qq_39089503原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。