7 |
|
*/ |
8 |
|
|
9 |
|
import junit.framework.*; |
10 |
< |
import java.util.concurrent.*; |
10 |
> |
import java.util.concurrent.Callable; |
11 |
> |
import java.util.concurrent.CancellationException; |
12 |
> |
import java.util.concurrent.CountDownLatch; |
13 |
> |
import java.util.concurrent.ExecutionException; |
14 |
> |
import java.util.concurrent.Future; |
15 |
> |
import java.util.concurrent.FutureTask; |
16 |
> |
import java.util.concurrent.TimeoutException; |
17 |
|
import static java.util.concurrent.TimeUnit.MILLISECONDS; |
18 |
|
import static java.util.concurrent.TimeUnit.SECONDS; |
19 |
|
import java.util.*; |
148 |
|
checkCancelled(task); |
149 |
|
} |
150 |
|
|
145 |
– |
|
151 |
|
/** |
152 |
|
* setting value causes get to return it |
153 |
|
*/ |
419 |
|
checkCancelled(task); |
420 |
|
} |
421 |
|
|
417 |
– |
|
422 |
|
/** |
423 |
|
* A runtime exception in task causes get to throw ExecutionException |
424 |
|
*/ |
457 |
|
} |
458 |
|
} |
459 |
|
|
456 |
– |
|
460 |
|
/** |
461 |
|
* Interrupting a waiting get causes it to throw InterruptedException |
462 |
|
*/ |