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