如何增加LinkedBlockingQueue容量?

时间:2019-03-30 23:17:47

标签: java data-structures java-8

我想增加LinkedBlockingQueue的容量吗?

根据设计,它是无界的(Integer.MAX_VALUE)。我们可以通过将容量作为初始值来进行限制。但是我想在创建后增加容量。顺便说一句,它可以包含当时的物品。

如何实现这一点,有什么想法吗?

1 个答案:

答案 0 :(得分:1)

接受容量的构造函数的documentation指出:

  

创建具有给定(固定)容量的LinkedBlockingQueue。

固定的 表示创建队列后无法修改容量。

这可以通过声明为final的容量来证明:

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

如果要增加固定大小队列的容量,只需创建一个新队列,或指定一个初始容量足以满足您需要的队列。