0

当 GenericObjctPool borrowObject 无法借用 Object 时会发生什么。

例如,如果它是在任意循环中借用的,但线程池的大小仅为 2。它会在不可用时阻塞对 borrowObject 的调用还是将其入队?

4

2 回答 2

1

直接取自javadoc

如果池耗尽(没有可用的空闲实例并且没有创建新实例的能力),此方法将阻塞 (WHEN_EXHAUSTED_BLOCK)、抛出 NoSuchElementException (WHEN_EXHAUSTED_FAIL) 或增长(WHEN_EXHAUSTED_GROW - 忽略 maxActive)。当 whenExhaustedAction == WHEN_EXHAUSTED_BLOCK 时,此方法将阻塞的时间长度由 maxWait 属性确定。

于 2013-02-21T08:31:59.870 回答
0

无限期阻塞的原因 - 缺少 getPool().returnObject(MyRunnable)

于 2013-03-19T17:09:38.807 回答