4 |
|
* http://creativecommons.org/publicdomain/zero/1.0/ |
5 |
|
*/ |
6 |
|
|
7 |
+ |
import java.util.*; |
8 |
|
import java.util.concurrent.*; |
8 |
– |
import java.util.concurrent.locks.*; |
9 |
|
import java.util.concurrent.atomic.*; |
10 |
< |
import java.util.*; |
10 |
> |
import java.util.concurrent.locks.*; |
11 |
|
|
12 |
|
public final class NoopSpinLockLoops { |
13 |
|
static final ExecutorService pool = Executors.newCachedThreadPool(); |
77 |
|
int x = sum + 1; |
78 |
|
int n = iters; |
79 |
|
while (n-- > 0) { |
80 |
< |
while (!lock.compareAndSet(0, 1)) ; |
80 |
> |
do {} while (!lock.compareAndSet(0, 1)); |
81 |
|
x = LoopHelpers.compute4(x); |
82 |
|
lock.set(0); |
83 |
|
if ((x += readBarrier) == 0) |