17 |
|
|
18 |
|
public static void main(String[] args) throws Exception { |
19 |
|
int maxThreads = 100; |
20 |
< |
if (args.length > 0) |
20 |
> |
if (args.length > 0) |
21 |
|
maxThreads = Integer.parseInt(args[0]); |
22 |
|
|
23 |
|
new ReentrantLockLoop(1).test(); |
32 |
|
if (i == k) { |
33 |
|
k = i << 1; |
34 |
|
i = i + (i >>> 1); |
35 |
< |
} |
36 |
< |
else |
35 |
> |
} |
36 |
> |
else |
37 |
|
i = k; |
38 |
|
} |
39 |
|
pool.shutdown(); |
53 |
|
} |
54 |
|
|
55 |
|
final void test() throws Exception { |
56 |
< |
for (int i = 0; i < nthreads; ++i) |
56 |
> |
for (int i = 0; i < nthreads; ++i) |
57 |
|
pool.execute(this); |
58 |
|
barrier.await(); |
59 |
|
barrier.await(); |
73 |
|
public final void run() { |
74 |
|
final AtomicInteger lock = this.spinlock; |
75 |
|
try { |
76 |
< |
barrier.await(); |
76 |
> |
barrier.await(); |
77 |
|
int sum = v + 1; |
78 |
|
int x = sum + 1; |
79 |
|
int n = iters; |
89 |
|
barrier.await(); |
90 |
|
result += sum; |
91 |
|
} |
92 |
< |
catch (Exception ie) { |
93 |
< |
return; |
92 |
> |
catch (Exception ie) { |
93 |
> |
return; |
94 |
|
} |
95 |
|
} |
96 |
|
} |
97 |
|
|
98 |
|
} |
99 |
– |
|