[英]How does asyncio's event loop know when an awaitable resource is ready?
我正在學習用於異步編程的Python asyncio。 我知道事件循環會監視Future對象,直到它們准備就緒,然后恢復適當的協程以在出現await關鍵字時繼續執行。
當您使用諸如asyncio.sleep
之類的東西時,這是很容易理解的,因為睡眠函數知道將花費多少時間,因此也將知道事件循環,但是對於依賴網絡(例如,等待時間未知)的事物會發生什么呢? 。
事件循環如何知道何時准備好資源或從某個來源收集數據需要花費多少時間?
事件循環如何知道何時准備好資源或從某個來源收集數據需要花費多少時間?
默認事件循環(基於SelectorEventLoop )使用選擇器模塊來跟蹤所有資源,以便在准備好新數據時進行監視並得到通知。 BaseSelector.select是神奇的地方 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.