gpt4 book ai didi

java - 通用对象池阈值

转载 作者:行者123 更新时间:2023-12-01 04:50:52 25 4
gpt4 key购买 nike

GenericObjectPool 配置为 12 个线程。一旦 12 个线程耗尽,我发现调用者线程变得僵尸。我认为默认行为是将额外的请求排队并在可用时提供服务,而不是杀死调用者线程。

private ImplClass implObject;

for (Iterator iter = anArrayList.iterator(); iter.hasNext();) {

//Gets a GenericObjectPool Object
implObject = (ImplClass) this.getImplPool().borrowObject();

some code

}

我已经尝试了如下两种配置来配置池。对我来说,只要它从借用语句恢复并在循环内处理其下方的行,阻塞就可以了。

 <bean id="ImplPool" class="org.apache.commons.pool.impl.GenericObjectPool">
<constructor-arg>
<ref local="ImplFactory"/>
</constructor-arg>
<constructor-arg>
<value>12</value>
</constructor-arg>
</bean>



<bean id="ImplPool" class="org.apache.commons.pool.impl.GenericObjectPool">
<constructor-arg>
<ref local="ImplFactory"/>
</constructor-arg>
<constructor-arg>
<value>12</value>
</constructor-arg>
<constructor-arg>
<bean id="org.apache.commons.pool.impl.GenericObjectPool.WHEN_EXHAUSTED_BLOCK"
class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean" />
</constructor-arg>
<constructor-arg>
<value>-1</value>
</constructor-arg>
</bean>

您能否建议一个在达到阈值时阻塞 GenericObjectPool 的配置?

最佳答案

我意识到我的设置没问题。由于没有再次创建线程,因此只有对象没有返回到池中。

关于java - 通用对象池阈值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14985418/

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