1961 |
|
* allowCoreThreadTimeOut(true) causes idle threads to time out |
1962 |
|
*/ |
1963 |
|
public void testAllowCoreThreadTimeOut_true() throws Exception { |
1964 |
< |
long coreThreadTimeOut = SHORT_DELAY_MS; |
1964 |
> |
long keepAliveTime = timeoutMillis(); |
1965 |
|
final ThreadPoolExecutor p = |
1966 |
|
new ThreadPoolExecutor(2, 10, |
1967 |
< |
coreThreadTimeOut, MILLISECONDS, |
1967 |
> |
keepAliveTime, MILLISECONDS, |
1968 |
|
new ArrayBlockingQueue<Runnable>(10)); |
1969 |
|
final CountDownLatch threadStarted = new CountDownLatch(1); |
1970 |
|
try { |
1975 |
|
assertEquals(1, p.getPoolSize()); |
1976 |
|
}}); |
1977 |
|
await(threadStarted); |
1978 |
< |
delay(coreThreadTimeOut); |
1978 |
> |
delay(keepAliveTime); |
1979 |
|
long startTime = System.nanoTime(); |
1980 |
|
while (p.getPoolSize() > 0 |
1981 |
|
&& millisElapsedSince(startTime) < LONG_DELAY_MS) |
1991 |
|
* allowCoreThreadTimeOut(false) causes idle threads not to time out |
1992 |
|
*/ |
1993 |
|
public void testAllowCoreThreadTimeOut_false() throws Exception { |
1994 |
< |
long coreThreadTimeOut = SHORT_DELAY_MS; |
1994 |
> |
long keepAliveTime = timeoutMillis(); |
1995 |
|
final ThreadPoolExecutor p = |
1996 |
|
new ThreadPoolExecutor(2, 10, |
1997 |
< |
coreThreadTimeOut, MILLISECONDS, |
1997 |
> |
keepAliveTime, MILLISECONDS, |
1998 |
|
new ArrayBlockingQueue<Runnable>(10)); |
1999 |
|
final CountDownLatch threadStarted = new CountDownLatch(1); |
2000 |
|
try { |
2004 |
|
threadStarted.countDown(); |
2005 |
|
assertTrue(p.getPoolSize() >= 1); |
2006 |
|
}}); |
2007 |
< |
delay(2 * coreThreadTimeOut); |
2007 |
> |
delay(2 * keepAliveTime); |
2008 |
|
assertTrue(p.getPoolSize() >= 1); |
2009 |
|
} finally { |
2010 |
|
joinPool(p); |