-
Foreword
Sanic使用
uvloop
作为asyncio
的事件循环。 -
asyncio与uvloop
uvloop
由Cython编写、建立在libuv
之上,提高了asyncio
的速度。详情参见:ref.no.11asyncio
是Python标准库中的一个异步I/O框架,是一个网络传输、协议和流量抽象化的集合。uvloop
是asyncio
默认事件循环的一个替代品。基于uvloop的asyncio的速度几近Go程序。
关于事件循环参见:《理解Python异步中的事件循环》
关于libuv,是nodejs中的使用的一个高性能、多平台的异步I/O库。
-
uvloop
事件循环是
asyncio
的核心。为以下功能提供了API
:- 安排函数调用
- 通过网络传输数据
- 执行DNS询问
- 处理OS信号
- 可创建服务器和连接的方便抽象类
- 异步地处理subprocesss
uvloop是对asyncio中默认事件循环的替代品。
-
一、uvloop安装
pip install uvloop
-
二、uvloop简单使用
import asyncio import uvloop asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
使得任何对
asyncio.get_event_loop()
的调用都会返回一个uvloop
的实例。 -
References
理解Sanic中的uvloop
最新推荐文章于 2024-02-25 15:12:28 发布