首页 > 解决方案 > 动态增加 asyncio.Queue 的大小?

问题描述

asyncio.Queue当队列中已有项目时,是否可以动态更改(增加)对象的最大大小?

如果通过操纵内部属性来完成,预计会有什么副作用?

标签: pythonpython-3.xpython-asyncio

解决方案


不,这是不可能的。没有办法asyncio.Queue做到这一点。

要获得不同大小的队列,您需要创建一个新队列并可能转移所有项目,或者您可以例如创建一个设置,您可以在两个队列之间交替,允许您替换当前未使用的队列。


如果您决定操作无法通过其接口访问的队列的内部状态,您现在可以让它工作,但是当有任何 Python 更新时,您不能依赖它不中断。


推荐阅读