tornado.platform.asyncio
— Bridge between asyncio
and Tornado¶
Bridges between the asyncio
module and Tornado IOLoop.
3.2 新版功能.
This module integrates Tornado with the asyncio
module introduced
in Python 3.4 (and available as a separate download for Python 3.3). This makes
it possible to combine the two libraries on the same event loop.
Most applications should use AsyncIOMainLoop
to run Tornado on the
default asyncio
event loop. Applications that need to run event
loops on multiple threads may use AsyncIOLoop
to create multiple
loops.
注解
Tornado requires the add_reader
family of methods,
so it is not compatible with the ProactorEventLoop
on Windows.
Use the SelectorEventLoop
instead.
-
class
tornado.platform.asyncio.
AsyncIOMainLoop
[源代码]¶ AsyncIOMainLoop
creates anIOLoop
that corresponds to the currentasyncio
event loop (i.e. the one returned byasyncio.get_event_loop()
). Recommended usage:from tornado.platform.asyncio import AsyncIOMainLoop import asyncio AsyncIOMainLoop().install() asyncio.get_event_loop().run_forever()
-
class
tornado.platform.asyncio.
AsyncIOLoop
[源代码]¶ AsyncIOLoop
is anIOLoop
that runs on anasyncio
event loop. This class follows the usual Tornado semantics for creating newIOLoops
; these loops are not necessarily related to theasyncio
default event loop. Recommended usage:from tornado.ioloop import IOLoop IOLoop.configure('tornado.platform.asyncio.AsyncIOLoop') IOLoop.current().start()
Each
AsyncIOLoop
creates a newasyncio.EventLoop
; this object can be accessed with theasyncio_loop
attribute.
-
tornado.platform.asyncio.
to_tornado_future
(asyncio_future)[源代码]¶ Convert an
asyncio.Future
to atornado.concurrent.Future
.4.1 新版功能.
-
tornado.platform.asyncio.
to_asyncio_future
(tornado_future)[源代码]¶ Convert a Tornado yieldable object to an
asyncio.Future
.4.1 新版功能.
在 4.3 版更改: Now accepts any yieldable object, not just
tornado.concurrent.Future
.