【发布时间】:2018-02-05 07:30:15
【问题描述】:
我正在用 tornado 编写一个 Web 服务器,我想知道 tornado.concurrent.Future 是如何工作的?我看过的例子 AsyncHTTPClient() 但如果我想制作自己的函数,它有一些 执行一些 IO 操作,例如从 memcache 中获取值 怎么做 我让它异步工作?
当我使用 websocket.WebSocketHandler 时,函数调用 write_message() 会阻塞服务器吗?我的代码如下:
`class SocketHandler(websocket.WebSocketHandler):
@gen.coroutine
def getMemcVal(self):
self.write_message("some test value")`
- Future 与回调有何不同?
【问题讨论】:
-
第二个问题,“是”。对于您的第一个问题,您首先需要学习如何异步编程。
-
如果我只做
yield self.write_message("some test value")会很好用吗? -
不,它不会让工作变得更好。
标签: python asynchronous callback tornado