當GenericObjctPool borrowObject無法借用Object時會發生什麼情況。線程池借用
例如,如果它是在任意循環中借用的,但線程池的大小僅爲2. 它會阻止對那個調用borrowObject時調用non-availability或將其排入隊列嗎?
當GenericObjctPool borrowObject無法借用Object時會發生什麼情況。線程池借用
例如,如果它是在任意循環中借用的,但線程池的大小僅爲2. 它會阻止對那個調用borrowObject時調用non-availability或將其排入隊列嗎?
原因無限期阻塞 - getPool()返回object(MyRunnable)失蹤
直接從javadoc摘自:
如果池被用盡(沒有可用的空閒情況下,沒有能力創造新的),此方法將任一塊(WHEN_EXHAUSTED_BLOCK),拋出一個NoSuchElementException(WHEN_EXHAUSTED_FAIL)或增長(WHEN_EXHAUSTED_GROW - 忽略maxActive)。 whenExhaustedAction == WHEN_EXHAUSTED_BLOCK由maxWait屬性確定時,此方法將阻塞的時間長度。
http://commons.apache.org/pool/api-1.6/org/apache/commons/pool/impl/ GenericObjectPool.html#borrowObject() – BobTheBuilder 2013-02-21 08:31:18