18 |
|
* redistribute this code in any way without acknowledgement. |
19 |
|
*/ |
20 |
|
|
21 |
+ |
import java.util.*; |
22 |
|
import java.util.concurrent.*; |
23 |
|
import java.util.concurrent.locks.*; |
23 |
– |
import java.util.*; |
24 |
|
|
25 |
|
public final class CancelledFutureLoops { |
26 |
|
static final ExecutorService pool = Executors.newCachedThreadPool(); |
44 |
|
pool.shutdown(); |
45 |
|
} |
46 |
|
|
47 |
< |
static final class FutureLoop implements Callable { |
47 |
> |
static final class FutureLoop implements Callable<Object> { |
48 |
|
private int v = rng.next(); |
49 |
|
private final ReentrantLock lock = new ReentrantLock(); |
50 |
|
private final LoopHelpers.BarrierTimer timer = new LoopHelpers.BarrierTimer(); |