2013-02-21 153 views
0

當GenericObjctPool borrowObject無法借用Object時會發生什麼情況。線程池借用

例如,如果它是在任意循環中借用的,但線程池的大小僅爲2. 它會阻止對那個調用borrowObject時調用non-availability或將其排入隊列嗎?

+0

http://commons.apache.org/pool/api-1.6/org/apache/commons/pool/impl/ GenericObjectPool.html#borrowObject() – BobTheBuilder 2013-02-21 08:31:18

回答

0

原因無限期阻塞 - getPool()返回object(MyRunnable)失蹤

1

直接從javadoc摘自:

如果池被用盡(沒有可用的空閒情況下,沒有能力創造新的),此方法將任一塊(WHEN_EXHAUSTED_BLOCK),拋出一個NoSuchElementException(WHEN_EXHAUSTED_FAIL)或增長(WHEN_EXHAUSTED_GROW - 忽略maxActive)。 whenExhaustedAction == WHEN_EXHAUSTED_BLOCK由maxWait屬性確定時,此方法將阻塞的時間長度。