asyncio
--- 異步 I/O?
asyncio 是用來編寫 并發(fā) 代碼的庫,使用 async/await 語法。
asyncio 被用作多個(gè)提供高性能 Python 異步框架的基礎(chǔ),包括網(wǎng)絡(luò)和網(wǎng)站服務(wù),數(shù)據(jù)庫連接庫,分布式任務(wù)隊(duì)列等等。
asyncio 往往是構(gòu)建 IO 密集型和高層級 結(jié)構(gòu)化 網(wǎng)絡(luò)代碼的最佳選擇。
asyncio 提供一組 高層級 API 用于:
并發(fā)地 運(yùn)行 Python 協(xié)程 并對其執(zhí)行過程實(shí)現(xiàn)完全控制;
執(zhí)行 網(wǎng)絡(luò) IO 和 IPC;
控制 子進(jìn)程;
通過 隊(duì)列 實(shí)現(xiàn)分布式任務(wù);
同步 并發(fā)代碼;
此外,還有一些 低層級 API 以支持 庫和框架的開發(fā)者 實(shí)現(xiàn):
創(chuàng)建和管理 事件循環(huán),以提供異步 API 用于
網(wǎng)絡(luò)化
, 運(yùn)行子進(jìn)程
,處理OS 信號
等等;使用 transports 實(shí)現(xiàn)高效率協(xié)議;
通過 async/await 語法 橋接 基于回調(diào)的庫和代碼。
參考
低層級 API
備注
asyncio 的源代碼可以在 Lib/asyncio/ 中找到。