ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/ThreadPoolExecutorTest.java
(Generate patch)

Comparing jsr166/src/test/tck/ThreadPoolExecutorTest.java (file contents):
Revision 1.20 by dl, Mon Apr 12 12:03:10 2004 UTC vs.
Revision 1.21 by dl, Fri Dec 31 14:52:40 2004 UTC

# Line 1525 | Line 1525 | public class ThreadPoolExecutorTest exte
1525              joinPool(e);
1526          }
1527      }
1528 +
1529 +    /**
1530 +     * allowsCoreThreadTimeOut is by default false.
1531 +     */
1532 +    public void testAllowsCoreThreadTimeOut() {
1533 +        ThreadPoolExecutor tpe = new ThreadPoolExecutor(2, 2, 1000, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(10));
1534 +        assertFalse(tpe.allowsCoreThreadTimeOut());
1535 +        joinPool(tpe);
1536 +    }
1537 +
1538 +    /**
1539 +     * allowCoreThreadTimeOut(true) causes idle threads to time out
1540 +     */
1541 +    public void testAllowCoreThreadTimeOut_true() {
1542 +        ThreadPoolExecutor tpe = new ThreadPoolExecutor(2, 10, 10, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(10));
1543 +        tpe.allowCoreThreadTimeOut(true);
1544 +        tpe.execute(new NoOpRunnable());
1545 +        try {
1546 +            Thread.sleep(MEDIUM_DELAY_MS);
1547 +            assertEquals(0, tpe.getPoolSize());
1548 +        } catch(InterruptedException e){
1549 +            unexpectedException();
1550 +        } finally {
1551 +            joinPool(tpe);
1552 +        }
1553 +    }
1554 +
1555 +    /**
1556 +     * allowCoreThreadTimeOut(false) causes idle threads not to time out
1557 +     */
1558 +    public void testAllowCoreThreadTimeOut_false() {
1559 +        ThreadPoolExecutor tpe = new ThreadPoolExecutor(2, 10, 10, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(10));
1560 +        tpe.allowCoreThreadTimeOut(false);
1561 +        tpe.execute(new NoOpRunnable());
1562 +        try {
1563 +            Thread.sleep(MEDIUM_DELAY_MS);
1564 +            assertTrue(tpe.getPoolSize() >= 1);
1565 +        } catch(InterruptedException e){
1566 +            unexpectedException();
1567 +        } finally {
1568 +            joinPool(tpe);
1569 +        }
1570 +    }
1571 +
1572   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines