asyncio 的事件循环如何知道可等待资源何时准备就绪?



我正在学习异步编程的Python asyncio。我知道事件循环监视Future对象,直到它们准备好,然后恢复适当的协程,在await关键字发生的地方继续执行。

当你使用像asyncio.sleep这样的东西时,这是非常可以理解的,因为睡眠函数知道它将花费多少时间,因此将知道事件循环,但是依赖于网络(例如)等待时间未知的东西会发生什么?

事件循环如何知道资源何时准备好,或者从某个源收集数据需要多少时间?

事件循环如何知道资源何时准备好,或者从某个源收集数据需要多少时间?

默认的事件循环(基于SelectorEventLoop)使用选择器模块来跟踪所有要监视的资源,并在新数据准备好时获得通知。BaseSelector。

最新更新