Динамически увеличивать размер asyncio.Queue? - PullRequest
1 голос
/ 04 марта 2020

Можно ли динамически изменять (увеличивать) максимальный размер объекта asyncio.Queue, когда в очереди уже есть элементы?

Какие побочные эффекты ожидаются, если это происходит путем манипулирования внутренними свойствами?

1 Ответ

1 голос
/ 04 марта 2020

Нет, это невозможно. Для этого нет способа asyncio.Queue.

Чтобы получить очередь с другим размером, вам нужно создать новую и, возможно, перенести все элементы, или вы можете, например, создать установку, в которой вы можете чередуйте две очереди, что позволит вам заменить ту, которая в данный момент не используется.


Если вы решите манипулировать внутренним состоянием очереди, которое недоступно через ее интерфейс, вы можете получить его работать сейчас, но вы не можете положиться на него, чтобы не сломаться, когда есть какие-либо Python обновления.

...