11 |
|
import jsr166e.DoubleAdder; |
12 |
|
|
13 |
|
public class DoubleAdderDemo { |
14 |
< |
static final int INCS_PER_THREAD = 10000000; |
14 |
> |
static final int INCS_PER_THREAD = 10000000; |
15 |
|
static final int NCPU = Runtime.getRuntime().availableProcessors(); |
16 |
|
static final ExecutorService pool = Executors.newCachedThreadPool(); |
17 |
|
|
78 |
|
final Phaser phaser; |
79 |
|
final int incs; |
80 |
|
volatile double result; |
81 |
< |
AdderTask(DoubleAdder adder, Phaser phaser, int incs) { |
82 |
< |
this.adder = adder; |
81 |
> |
AdderTask(DoubleAdder adder, Phaser phaser, int incs) { |
82 |
> |
this.adder = adder; |
83 |
|
this.phaser = phaser; |
84 |
|
this.incs = incs; |
85 |
|
} |
100 |
|
final Phaser phaser; |
101 |
|
final int incs; |
102 |
|
volatile double result; |
103 |
< |
SyncTask(SynchronizedDoubleAdder adder, Phaser phaser, int incs) { |
104 |
< |
this.adder = adder; |
103 |
> |
SyncTask(SynchronizedDoubleAdder adder, Phaser phaser, int incs) { |
104 |
> |
this.adder = adder; |
105 |
|
this.phaser = phaser; |
106 |
|
this.incs = incs; |
107 |
|
} |
117 |
|
} |
118 |
|
} |
119 |
|
|
120 |
< |
} |
120 |
> |
} |