18 |
|
import java.util.concurrent.CancellationException; |
19 |
|
import java.util.concurrent.CountDownLatch; |
20 |
|
import java.util.concurrent.ExecutionException; |
21 |
– |
import java.util.concurrent.Executors; |
21 |
|
import java.util.concurrent.ExecutorService; |
22 |
|
import java.util.concurrent.Future; |
23 |
|
import java.util.concurrent.FutureTask; |
274 |
|
} |
275 |
|
|
276 |
|
/** |
277 |
+ |
* The default rejected execution handler is AbortPolicy. |
278 |
+ |
*/ |
279 |
+ |
public void testDefaultRejectedExecutionHandler() { |
280 |
+ |
final ThreadPoolExecutor p = |
281 |
+ |
new ThreadPoolExecutor(1, 2, |
282 |
+ |
LONG_DELAY_MS, MILLISECONDS, |
283 |
+ |
new ArrayBlockingQueue<Runnable>(10)); |
284 |
+ |
try (PoolCleaner cleaner = cleaner(p)) { |
285 |
+ |
assertTrue(p.getRejectedExecutionHandler() |
286 |
+ |
instanceof ThreadPoolExecutor.AbortPolicy); |
287 |
+ |
} |
288 |
+ |
} |
289 |
+ |
|
290 |
+ |
/** |
291 |
|
* getRejectedExecutionHandler returns handler in constructor if not set |
292 |
|
*/ |
293 |
|
public void testGetRejectedExecutionHandler() { |
1125 |
|
await(done); |
1126 |
|
}}; |
1127 |
|
for (int i = 0; i < 2; ++i) |
1128 |
< |
p.submit(Executors.callable(task)); |
1128 |
> |
p.execute(task); |
1129 |
|
for (int i = 0; i < 2; ++i) { |
1130 |
|
try { |
1131 |
|
p.execute(task); |