異步編程 - uvloop

Python - uvloop

Python標準庫中提供了asyncio模塊,用於支持基於協程的異步編程。

uvloop是 asyncio 中的事件循環的替代方案,替換後可以使得asyncio性能提高。事實上,uvloop要比nodejs、gevent等其他python異步框架至少要快2倍,性能可以比肩Go語言。

安裝

pip3 install uvloop

在項目中想要使用uvloop替換asyncio的事件循環也非常簡單,只要在代碼中這麼做就行。

import asyncio
import uvloop
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())

# 編寫asyncio的代碼,與之前寫的代碼一致。

# 內部的事件循環自動化會變爲uvloop
asyncio.run(...)

注意:知名的asgi uvicorn內部就是使用的uvloop的事件循環。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章