我这里有两个简单的问题。我有一个LinkedBlockingQueue,我简单地创建为
new LinkedBlockingQueue()
所以我认为这保证了无限,是吗?
如果确实如此,那么说这个队列实例上调用方法put
永远不会阻塞是正确的吗?
答案 0 :(得分:5)
Java文档指定no-arg constructor invocation将导致Integer.MAX_VALUE
的容量,该容量很大但实际上不是无限的,因此队列是有界的(但实际上,它可能不是定)。
只有当空间需要变得可用时,put
方法才会阻塞,这意味着如果队列已经有多个等于容量的元素,它将阻塞。