如何使用 Java 和 Spring 知道 BlockingQueue 中当前有多少元素
how to know how many elements are currently in a BlockingQueue using Java and Spring
我有一个 Java 应用程序,我正在使用 Spring 框架。
我使用 beans 定义了一个队列,其大小设置为最多 5 个元素,如下所示:
<bean id="Queue1" class="java.util.concurrent.PriorityBlockingQueue">
<constructor-arg type="int"><value>5</value></constructor-arg>
</bean>
然后我使用注入将它传递给 Java 中的构造函数,并在构造函数中对其进行初始化。在 Java 中,我定义并完成了以下操作:
private final BlockingQueue<OrdenTrabajo> queue;
...
this.queue = queue
...
稍后,当我尝试使用代码获取队列大小时:
queue.size()
它 returns 0 而不是 5。为什么?
另外,是否有可能获取当前队列中元素的数量?
int 构造函数参数是一个 initial capacity,而不是最初存在的元素数。
PriorityBlockingQueue.size()
returns the number of elements present in the collection; PriorityBlockingQueue.remainingCapacity()
returns可用容量。
我有一个 Java 应用程序,我正在使用 Spring 框架。
我使用 beans 定义了一个队列,其大小设置为最多 5 个元素,如下所示:
<bean id="Queue1" class="java.util.concurrent.PriorityBlockingQueue">
<constructor-arg type="int"><value>5</value></constructor-arg>
</bean>
然后我使用注入将它传递给 Java 中的构造函数,并在构造函数中对其进行初始化。在 Java 中,我定义并完成了以下操作:
private final BlockingQueue<OrdenTrabajo> queue;
...
this.queue = queue
...
稍后,当我尝试使用代码获取队列大小时:
queue.size()
它 returns 0 而不是 5。为什么?
另外,是否有可能获取当前队列中元素的数量?
int 构造函数参数是一个 initial capacity,而不是最初存在的元素数。
PriorityBlockingQueue.size()
returns the number of elements present in the collection; PriorityBlockingQueue.remainingCapacity()
returns可用容量。