--- jsr166/src/test/loops/CheckedLockLoops.java 2005/05/09 19:33:30 1.2 +++ jsr166/src/test/loops/CheckedLockLoops.java 2014/12/18 18:13:06 1.9 @@ -1,7 +1,7 @@ /* * Written by Doug Lea with assistance from members of JCP JSR-166 * Expert Group and released to the public domain, as explained at - * http://creativecommons.org/licenses/publicdomain + * http://creativecommons.org/publicdomain/zero/1.0/ */ /* * @test @@ -21,7 +21,7 @@ public final class CheckedLockLoops { public static void main(String[] args) throws Exception { int maxThreads = 100; int iters = 2000000; - if (args.length > 0) + if (args.length > 0) maxThreads = Integer.parseInt(args[0]); rng.setSeed(3122688L); warmup(iters); @@ -31,18 +31,17 @@ public final class CheckedLockLoops { static void runTest(int maxThreads, int iters) throws Exception { print = true; - int k = 1; - for (int i = 1; i <= maxThreads;) { + for (int k = 1, i = 1; i <= maxThreads;) { System.out.println("Threads:" + i); oneTest(i, iters / i); if (i == k) { k = i << 1; i = i + (i >>> 1); - } - else + } + else i = k; } - } + } static void warmup(int iters) throws Exception { print = false; @@ -52,14 +51,14 @@ public final class CheckedLockLoops { } static void oneTest(int nthreads, int iters) throws Exception { - int fairIters = (nthreads <= 1)? iters : iters/20; + int fairIters = (nthreads <= 1) ? iters : iters/20; int v = rng.next(); if (print) System.out.print("NoLock (1 thread) "); new NoLockLoop().test(v, 1, iters * nthreads); Thread.sleep(10); - + if (print) System.out.print("ReentrantLock "); new ReentrantLockLoop().test(v, nthreads, iters); @@ -91,7 +90,7 @@ public final class CheckedLockLoops { System.out.print("Semaphore "); new SemaphoreLoop().test(v, nthreads, iters); Thread.sleep(10); - + if (print) System.out.print("FairSemaphore "); new FairSemaphoreLoop().test(v, nthreads, fairIters); @@ -106,19 +105,19 @@ public final class CheckedLockLoops { System.out.print("FairRWriteLock "); new FairReentrantWriteLockLoop().test(v, nthreads, fairIters); Thread.sleep(10); - + if (print) System.out.print("ReentrantReadWriteLock"); new ReentrantReadWriteLockLoop().test(v, nthreads, iters); Thread.sleep(10); - + if (print) System.out.print("FairRReadWriteLock "); new FairReentrantReadWriteLockLoop().test(v, nthreads, fairIters); Thread.sleep(10); } - static abstract class LockLoop implements Runnable { + abstract static class LockLoop implements Runnable { int value; int checkValue; int iters; @@ -135,7 +134,7 @@ public final class CheckedLockLoops { final int getValue() { int v = value; - if (checkValue != ~(v ^ 0xAAAAAAAA)) + if (checkValue != ~(v ^ 0xAAAAAAAA)) ++failures; return v; } @@ -144,7 +143,7 @@ public final class CheckedLockLoops { setValue(initialValue); this.iters = iters; barrier = new CyclicBarrier(nthreads+1, timer); - for (int i = 0; i < nthreads; ++i) + for (int i = 0; i < nthreads; ++i) pool.execute(this); barrier.await(); barrier.await(); @@ -164,12 +163,12 @@ public final class CheckedLockLoops { abstract int loop(int n); public final void run() { try { - barrier.await(); + barrier.await(); result += loop(iters); barrier.await(); } - catch (Exception ie) { - return; + catch (Exception ie) { + return; } } @@ -179,7 +178,7 @@ public final class CheckedLockLoops { private volatile int readBarrier; final int loop(int n) { int sum = 0; - int x = 0;; + int x = 0; while (n-- > 0) { int r1 = readBarrier; x = setValue(LoopHelpers.compute1(getValue())); @@ -195,9 +194,9 @@ public final class CheckedLockLoops { private static class BuiltinLockLoop extends LockLoop { final int loop(int n) { int sum = 0; - int x = 0;; + int x = 0; while (n-- > 0) { - synchronized(this) { + synchronized (this) { x = setValue(LoopHelpers.compute1(getValue())); } sum += LoopHelpers.compute2(x); @@ -207,7 +206,7 @@ public final class CheckedLockLoops { } private static class ReentrantLockLoop extends LockLoop { - final private ReentrantLock lock = new ReentrantLock(); + private final ReentrantLock lock = new ReentrantLock(); final int loop(int n) { final ReentrantLock lock = this.lock; int sum = 0; @@ -227,7 +226,7 @@ public final class CheckedLockLoops { } private static class MutexLoop extends LockLoop { - final private Mutex lock = new Mutex(); + private final Mutex lock = new Mutex(); final int loop(int n) { final Mutex lock = this.lock; int sum = 0; @@ -247,7 +246,7 @@ public final class CheckedLockLoops { } private static class LongMutexLoop extends LockLoop { - final private LongMutex lock = new LongMutex(); + private final LongMutex lock = new LongMutex(); final int loop(int n) { final LongMutex lock = this.lock; int sum = 0; @@ -267,7 +266,7 @@ public final class CheckedLockLoops { } private static class FairReentrantLockLoop extends LockLoop { - final private ReentrantLock lock = new ReentrantLock(true); + private final ReentrantLock lock = new ReentrantLock(true); final int loop(int n) { final ReentrantLock lock = this.lock; int sum = 0; @@ -287,7 +286,7 @@ public final class CheckedLockLoops { } private static class ReentrantWriteLockLoop extends LockLoop { - final private Lock lock = new ReentrantReadWriteLock().writeLock(); + private final Lock lock = new ReentrantReadWriteLock().writeLock(); final int loop(int n) { final Lock lock = this.lock; int sum = 0; @@ -327,7 +326,7 @@ public final class CheckedLockLoops { } private static class SemaphoreLoop extends LockLoop { - final private Semaphore sem = new Semaphore(1, false); + private final Semaphore sem = new Semaphore(1, false); final int loop(int n) { final Semaphore sem = this.sem; int sum = 0; @@ -346,7 +345,7 @@ public final class CheckedLockLoops { } } private static class FairSemaphoreLoop extends LockLoop { - final private Semaphore sem = new Semaphore(1, true); + private final Semaphore sem = new Semaphore(1, true); final int loop(int n) { final Semaphore sem = this.sem; int sum = 0; @@ -366,7 +365,7 @@ public final class CheckedLockLoops { } private static class ReentrantReadWriteLockLoop extends LockLoop { - final private ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); + private final ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); final int loop(int n) { final Lock rlock = lock.readLock(); final Lock wlock = lock.writeLock(); @@ -401,7 +400,7 @@ public final class CheckedLockLoops { private static class FairReentrantReadWriteLockLoop extends LockLoop { - final private ReentrantReadWriteLock lock = new ReentrantReadWriteLock(true); + private final ReentrantReadWriteLock lock = new ReentrantReadWriteLock(true); final int loop(int n) { final Lock rlock = lock.readLock(); final Lock wlock = lock.writeLock();