Как увеличить емкость LinkedBlockingQueue? - PullRequest
1 голос
/ 31 марта 2019

Хочу увеличить емкость LinkedBlockingQueue?

По своему дизайну он неограничен (Integer.MAX_VALUE). Мы можем ограничить, указав емкость в качестве исходного значения. Но я хочу увеличить эту емкость после создания. Кстати, он может содержать предметы в то время.

Как этого добиться, есть идеи?

1 Ответ

1 голос
/ 31 марта 2019

Документация конструктора, который принимает емкость, гласит следующее:

Создает LinkedBlockingQueue с заданной (фиксированной) емкостью.

Термин fixed означает, что емкость не может быть изменена после создания очереди.

Это видно по заявленной емкости final:

/** The capacity bound, or Integer.MAX_VALUE if none */
private final int capacity;

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...