搭建一个服务器,创建三个路由
flask1.py
from flask import Flaskimport timeapp=Flask(__name__)@app.route('/bobo')def index_bobo():time.sleep(2)return 'Hello bobo'@app.route('/jay')def index_jay():time.sleep(2)return 'Hello jay'@app.route('/tom')def index_tom():time.sleep(2)return 'Hello tom'if __name__=='__main__':app.run(threaded=True)
* Serving Flask app "flask1" (lazy loading)* Environment: productionWARNING: Do not use the development server in a production environment.Use a production WSGI server instead.* Debug mode: off* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
import asyncioimport timeimport requestsstat=time.time()urls=['http://127.0.0.1:5000/bobo','http://127.0.0.1:5000/jay','http://127.0.0.1:5000/tom']async def get_page(url):print('正在下载',url)#requests.get是基于同步,# 必须使用基于异步的网络请求模块进行指定url的请求发送#aiohttp:基于异步网络请求的模块response=requests.get(url=url)print('下载完毕',response.text)tasks=[]for url in urls:c=get_page(url)task=asyncio.ensure_future(c)tasks.append(task)loop=asyncio.get_event_loop()loop.run_until_complete(asyncio.wait(tasks))end=time.time()print('总耗时',end-stat)
正在下载 http://127.0.0.1:5000/bobo下载完毕 Hello bobo正在下载 http://127.0.0.1:5000/jay下载完毕 Hello jay正在下载 http://127.0.0.1:5000/tom下载完毕 Hello tom总耗时 6.043761253356934
