tornado中使用异步(tornado底层是使用协程写异步代码!)

Posted 孤寒者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tornado中使用异步(tornado底层是使用协程写异步代码!)相关的知识,希望对你有一定的参考价值。

为什么要用异步

  一般代码都是同步执行,会产生阻塞的问题(比如后端在从数据库中调数据渲染给前端页面时,发现数据库中没有指定数据或者存在脏数据就会出现此问题【会一直显示正在加载】,甚至会卡死!)

  而使用异步则可以解决此类问题:

  异步处理可以让应用/程序在长时间的API和数据库请求中避免阻塞的时间耗费,最终更快地服务更多请求。

注意——异步的缺陷:

异步代码增加了复杂度,只在特定场景使用

应用异步

1.为了更加直观鲜明的说明为什么要使用异步:
  我选择分别使用异步和同步实现同一功能观察各自响应过程,并通过响应时间为直观性标准加以说明。
2.实现的同一功能是:
  实现指定URL的图片的上传功能(其实就是爬虫爬取图片)。

3.提供两个图片URL以供测试使用(一个是固定图片的URL/一个是随机图片的URL):
  ①请求随机图片的网址 : http://source.unsplash.com/random
  ②请求固定图片的网址:http://pic1.win4000.com/wallpaper/2018-05-08/5af150aea45bd.jpg

以上是关于tornado中使用异步(tornado底层是使用协程写异步代码!)的主要内容,如果未能解决你的问题,请参考以下文章

在tornado中使用异步mysql操作

Tornado中异步框架的使用

对Tornado异步操作Sqlalchemy方法的选定 不错

Tornado异步非阻塞的使用以及原理

tornado异步web请求

Tornado 阻塞异步请求