随笔分类 -  Tornado

Tornado 异步框架学习
Tornado 高并发源码分析之二---Tornado启动和请求处理流程
摘要:Tornado 服务器启动流程 因为Tornado 里使用了很多传类的方式,也就是delegate,之所以要这么做,其实和 iOS 开发那样,也很多的 delegate, 如此来实现高度解耦,但是比较绕,所以建议: 1、先浏览一遍启动流程,再看源码 2、在看一遍请求到来时的处理流程,再看源码 备注: 阅读全文

posted @ 2017-04-01 14:29 RobotZhu 阅读(1221) 评论(0) 推荐(0)

Tornado 高并发源码分析之五--- IOLoop 对象
摘要:IOLoop主要工作 1、将TCPServer 注册到 IOLoop 的事件记到 _handlers 字段,同时注册 READ 和 ERROR 事件到 epoll 2、IOLoop 启动一个大循环,负责轮询epoll中是否已经有就绪的事件,如果有就执行对应的回调 以下为源码分析,省略部分源码,只取主 阅读全文

posted @ 2017-04-01 14:20 RobotZhu 阅读(1365) 评论(0) 推荐(0)

Tornado 高并发源码分析之四--- HTTPServer 与 TCPServer 对象
摘要:主要工作: 服务器启动的时候做的事: 1、把包含了各种配置信息的 application 对象封装到了 HttpServer 对象的 request_callback 字段中,等待被调用 2、TCPServer 通过 listen 方法启动端口监听, 封装_handle_connection回调函数 阅读全文

posted @ 2017-04-01 14:17 RobotZhu 阅读(1671) 评论(0) 推荐(0)

Tornado 高并发源码分析之六---异步编程的几种实现方式
摘要:方式一:通过线程池或者进程池 导入库futures是python3自带的库,如果是python2,需要pip安装future这个库 备注:进程池和线程池写法相同 1 from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecu 阅读全文

posted @ 2017-04-01 14:14 RobotZhu 阅读(2860) 评论(0) 推荐(0)

Tornado 高并发源码分析之三--- Application 对象
摘要:Application 对象主要工作: 服务器启动时: 1、在新建一个app的时候,根据设置好的 URL 和回调函数 Handler 封装成URLSpec 对象 服务器运行时: 2、在请求到来,将 HTTPServer 封装好的HTTPRequest 传入_RequestDispatcher对象,_ 阅读全文

posted @ 2017-04-01 13:57 RobotZhu 阅读(628) 评论(0) 推荐(0)

Tornado 高并发源码分析之一---启动一个web服务
摘要:前言: 启动一个tornado 服务器基本代码 1 class HomeHandler(tornado.web.RequestHandler): #创建 RequesHandler 对象,处理接收到的 http 请求 2 def get(self): 3 entries = self.db.quer 阅读全文

posted @ 2017-04-01 13:50 RobotZhu 阅读(1009) 评论(0) 推荐(0)

导航