tornado 笔记

简单比较Django和Tornado

Django是走大而全的方向,注重的是高效开发,最出名的是全自动化管理后台

Tornado走的是少而精的方向,注重的是性能的优化,最出名的是异步非堵塞

安装方式:

通用:pip3 install tornado

还以可以下载wheel安装包进行安装,windows上可以到https://www.lfd.uci.edu/~gohlke/pythonlibs/#tornado进行下载

写一个简单的程序

# 调用tornado的web处理框架
import tornado.web
import tornado.ioloop


class IndexHandler(tornado.web.RequestHandler):
    """ 定义路由的需要类 """
    def get(self):
        """ 指定get请求方式,如果使用post方式只需要def post()即可 """
        self.write('hello world')  # 打印内容

if __name__ == '__main__':
    # 定义路由
    app = tornado.web.Application([(r'/', IndexHandler)])
    app.listen(8000)  # 设置监听端口
    tornado.ioloop.IOLoop.current().start()  #  循环当前线程

tornado.ioloop.IOLoop是重点:
在系统中会使用epoll就相当是一个管家里面会进行socket()进行监听,如果有用户发送信息过来,就会访问定义的路由表,再通过路由表查找类
值得注意的是:如果同时有两个用户(socket)同时进行访问,那么会造成其中一个进行等待,当执行完成前一个的时候再执行下一个(这是tornado的优点也是缺点)

猜你喜欢

转载自www.cnblogs.com/namejr/p/10018263.html