gpt4 book ai didi

java - 如何使用 Java 和 Spring 知道 BlockingQueue 中当前有多少元素

转载 作者:行者123 更新时间:2023-12-01 10:27:52 26 4
gpt4 key购买 nike

我有一个 Java 应用程序,并且正在使用 Spring 框架。

使用 beans,我定义一个队列,其大小设置为最多 5 个元素,如下所示:

  <bean id="Queue1" class="java.util.concurrent.PriorityBlockingQueue">
<constructor-arg type="int"><value>5</value></constructor-arg>
</bean>

然后我使用注入(inject)将其传递给 Java 中的构造函数,并在构造函数中对其进行初始化。在 Java 中,我定义并完成了以下操作:

private final BlockingQueue<OrdenTrabajo> queue;
...
this.queue = queue
...

后来,当我尝试使用代码获取队列大小时:

queue.size()

它返回 0 而不是 5。为什么?

另外,是否有可能获取当前队列中的元素数量?

最佳答案

int 构造函数参数是 initial capacity ,而不是最初存在的元素数量。

PriorityBlockingQueue.size()返回集合中存在的元素数量; PriorityBlockingQueue.remainingCapacity()返回可用容量。

关于java - 如何使用 Java 和 Spring 知道 BlockingQueue 中当前有多少元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35270819/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com