1.概述
Tornado的开发技巧就是不要写同步代码!!!!!!!!!!
理由我先进行测试再阐述吧
2.Tornado编写同步代码
2.1代码如下
from tornado import web
from tornado import ioloop
from time import sleep
class IndexHandler(web.RequestHandler):
def get(self):
sleep(15)
self.write("test1")
class IndexHandler2(web.RequestHandler):
def get(self):
self.write("test2")
if __name__ == '__main__':
app = web.Application([
('/', IndexHandler),
('/home/',IndexHandler2)
], debug = True)
app.listen(8000)
ioloop.IOLoop.current().start()
2.2测试方式
在浏览器中打开两个新页面,先运行根目录,立刻运行home目录;会发现一直在加载,直到第一个运行结束才会成功加载home目录
3.Tornado原理
Tornado的原理就是事件循环,可以理解成单线程的,当我们调用了Handler1时,1没有结束,我们去访问Handler2就无法访问。所以Tornado的开发技巧就是不要使用同步代码