【发布时间】:2014-09-01 02:09:37
【问题描述】:
我正在学习编写一个可以处理数千个连接的后端服务器。
我查看了一些示例代码,但发现它仍在用同步逻辑编写。
例如:(取自http://www.tornadoweb.org/en/stable/gen.html)
@gen.coroutine
def get(self):
http_client = AsyncHTTPClient()
response1, response2 = yield [http_client.fetch(url1), http_client.fetch(url2)]
print(response1.body, response2.body)
很明显print语句在得到两次fetch的响应之前是不能执行的,否则会因为访问不存在的数据而抛出异常。
因此,它的最后两行之间必须有一个block,但是,block,对于非阻塞、异步、事件驱动来说,不是tornado是高亮的...然后,可以处理数千个连接吗?
【问题讨论】:
标签: python asynchronous block tornado