Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。

 

一、Tornado的两种模式使用

1.同步阻塞模式

由于doing中sleep10秒,此时其他连接将被阻塞,必须等这次请求完成后其他请求才能连接成功。

 1 import tornado.ioloop
 2 import tornado.web
 3    
 4    
 5 class MainHandler(tornado.web.RequestHandler):
 6     def get(self):
 7         self.doing()
 8         self.write("Hello, world")
 9    
10     def doing(self):
11         time.sleep(10)
12 
13 
14 application = tornado.web.Application([
15     (r"/index", MainHandler),
16 ])
17    
18    
19 if __name__ == "__main__":
20     application.listen(8888)
21     tornado.ioloop.IOLoop.instance().start()
同步阻塞

相关文章: