1 |
+ |
/* |
2 |
+ |
* Written by Doug Lea with assistance from members of JCP JSR-166 |
3 |
+ |
* Expert Group and released to the public domain, as explained at |
4 |
+ |
* http://creativecommons.org/publicdomain/zero/1.0/ |
5 |
+ |
*/ |
6 |
|
|
7 |
|
class Sync100M { |
8 |
|
public static void main(String[] args) throws Exception { |
9 |
< |
int x = loop((int)System.nanoTime(), 100000); |
9 |
> |
int x = loop((int) System.nanoTime(), 100000); |
10 |
|
x = loop(x, 100000); |
11 |
|
x = loop(x, 100000); |
12 |
|
long start = System.nanoTime(); |
13 |
|
x = loop(x, 100000000); |
14 |
|
if (x == 0) System.out.print(" "); |
15 |
|
long time = System.nanoTime() - start; |
16 |
< |
double secs = (double)time / 1000000000.0; |
16 |
> |
double secs = (double) time / 1000000000.0; |
17 |
|
System.out.println("time: " + secs); |
18 |
|
start = System.nanoTime(); |
19 |
|
x = loop(x, 100000000); |
20 |
|
if (x == 0) System.out.print(" "); |
21 |
|
time = System.nanoTime() - start; |
22 |
< |
secs = (double)time / 1000000000.0; |
22 |
> |
secs = (double) time / 1000000000.0; |
23 |
|
System.out.println("time: " + secs); |
19 |
– |
|
24 |
|
} |
25 |
|
|
26 |
|
static final Object obj = new Object(); |
27 |
< |
|
27 |
> |
|
28 |
|
static int loop(int x, int iters) { |
29 |
|
for (int i = iters; i > 0; --i) { |
30 |
< |
synchronized(obj) { |
30 |
> |
synchronized (obj) { |
31 |
|
x = x * 134775813 + 1; |
32 |
|
} |
33 |
|
} |
34 |
|
return x; |
35 |
|
} |
36 |
< |
|
36 |
> |
|
37 |
|
} |