asyncio 是Python3.4 之后引入的标准库的,这个包使用事件循环驱动的协程实现并发。
uvloop 是 基于libuv 代替 asyncio 内事件循环的库
livbuv 则是大名鼎鼎的nodejs使用的io库
= =
自打知道这玩意就想用上
上代码
import tornado.ioloop import tornado.web from .router import Url from core.service import log #入口文件 settings = { 'template_path': 'views', 'static_path': 'static', 'static_url_prefix': '/static/', "cookie_secret" : "61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo=", "xsrf_cookies": False, } import uvloop from tornado.platform.asyncio import BaseAsyncIOLoop class TornadoUvloop(BaseAsyncIOLoop): def initialize(self, **kwargs): loop = uvloop.new_event_loop() try: super(TornadoUvloop, self).initialize( loop, close_loop=True, **kwargs) except Exception: loop.close() raise @staticmethod def main(port): application = tornado.web.Application( Url, **settings,) application.listen(port) tornado.ioloop.IOLoop.configure(TornadoUvloop) tornado.ioloop.IOLoop.current().start()