tornado.platform.asyncio --- asyncio 与 Tornado 之间的桥梁

asyncio 模块和Tornado IOLoop 之间的桥梁。

3.2 新版功能.

此模块将Tornado与 asyncio python 3.4中引入的模块。这使得在同一事件循环上组合两个库成为可能。

5.0 版后已移除: 当此模块中的代码仍在使用时,当 asyncio 是可用的,因此应用程序不再需要直接引用此模块。

注解

Tornado 需要 add_reader 方法家族,因此它与 ProactorEventLoop 在Windows上。使用 SelectorEventLoop 相反。

class tornado.platform.asyncio.AsyncIOMainLoop[源代码]

AsyncIOMainLoop 创建一个 IOLoop 对应于电流 asyncio 事件循环(即 asyncio.get_event_loop()

5.0 版后已移除: 现在在适当的时候自动使用;不再需要直接引用这个类。

在 5.0 版更改: 关闭一个 AsyncIOMainLoop 现在关闭底层的异步循环。

class tornado.platform.asyncio.AsyncIOLoop[源代码]

AsyncIOLoop 是一个 IOLoop 运行在一个 asyncio 事件循环。这个类遵循通常的Tornado语义来创建新的 IOLoops ;这些循环不一定与 asyncio 默认事件循环。

AsyncIOLoop 创建新的 asyncio.EventLoop ;可以使用 asyncio_loop 属性。

在 5.0 版更改: 当一个 AsyncIOLoop 变成电流 IOLoop ,它还设置当前 asyncio 事件循环。

5.0 版后已移除: 现在在适当的时候自动使用;不再需要直接引用这个类。

tornado.platform.asyncio.to_tornado_future(asyncio_future: asyncio.futures.Future) → asyncio.futures.Future[源代码]

转换一个 asyncio.Future 到A tornado.concurrent.Future .

4.1 新版功能.

5.0 版后已移除: Tornado Futures 已与合并 asyncio.Future ,所以这个方法现在是不可操作的。

tornado.platform.asyncio.to_asyncio_future(tornado_future: asyncio.futures.Future) → asyncio.futures.Future[源代码]

将 Tornado 可移动对象转换为 asyncio.Future .

4.1 新版功能.

在 4.3 版更改: 现在接受任何可触摸的物体,而不仅仅是 tornado.concurrent.Future .

5.0 版后已移除: Tornado Futures 已与合并 asyncio.Future ,所以这个方法现在等价于 tornado.gen.convert_yielded .

class tornado.platform.asyncio.AnyThreadEventLoopPolicy[源代码]

允许在任何线程上创建循环的事件循环策略。

默认值 asyncio 事件循环策略只在主线程中自动创建事件循环。其他线程必须显式创建事件循环,或者 asyncio.get_event_loop (因此) IOLoop.current 会失败。安装此策略允许在任何线程上自动创建事件循环,以匹配5.0之前的Tornado版本(或python 2上的5.0)的行为。

用法:

asyncio.set_event_loop_policy(AnyThreadEventLoopPolicy())

5.0 新版功能.