python tornado4.0.2 异步问题

用tornado时,每个请求sleep5秒,异步的方式,但是从浏览器测试没有出现异步的效果,哪位大侠知道呢

class IndexHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
@tornado.gen.coroutine
def get(self):
print("begin")
#yield tornado.gen.Task(tornado.ioloop.IOLoop.instance().add_timeout, time.time() + 5)
yield gen.Task(IOLoop.instance().add_timeout, IOLoop.instance().time() + 5)
¦ print("after")
¦ greeting = self.get_argument('greeting', 'Hello')
¦ self.write(greeting + ', friendly user!')
¦ self.finish()

        if __name__ == "__main__":
                tornado.options.parse_command_line()
                app = tornado.web.Application(handlers=[(r"/", IndexHandler)])
                http_server = tornado.httpserver.HTTPServer(app)
                http_server.listen(options.port)
                tornado.ioloop.IOLoop.instance().start()

2个回答

浏览器是用的ajax异步方式请求的吗,不然Javascript就是串行化

开多个窗口可以看出效果,两次出结果中间间隔肯定少于5s
其实直接使用apache的ab 并发100看看结果就知道了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问