--- jsr166/src/test/loops/ConcurrentQueueLoops.java 2011/12/05 04:08:46 1.14 +++ jsr166/src/test/loops/ConcurrentQueueLoops.java 2016/10/23 03:03:23 1.18 @@ -6,8 +6,8 @@ import java.util.*; import java.util.concurrent.*; -import java.util.concurrent.locks.*; import java.util.concurrent.atomic.*; +import java.util.concurrent.locks.*; public class ConcurrentQueueLoops { static final ExecutorService pool = Executors.newCachedThreadPool(); @@ -21,7 +21,7 @@ public class ConcurrentQueueLoops { public static void main(String[] args) throws Exception { int maxStages = 100; int work = 1024; - Class klass = null; + Class klass = null; if (args.length > 0) { try { klass = Class.forName(args[0]); @@ -50,8 +50,7 @@ public class ConcurrentQueueLoops { Thread.sleep(100); print = true; - int k = 1; - for (int i = 1; i <= maxStages;) { + for (int k = 1, i = 1; i <= maxStages;) { oneRun(klass, i); if (i == k) { k = i << 1; @@ -117,8 +116,9 @@ public class ConcurrentQueueLoops { } } - static void oneRun(Class klass, int n) throws Exception { - Queue q = (Queue) klass.newInstance(); + static void oneRun(Class klass, int n) throws Exception { + Queue q = + (Queue) klass.getConstructor().newInstance(); LoopHelpers.BarrierTimer timer = new LoopHelpers.BarrierTimer(); CyclicBarrier barrier = new CyclicBarrier(n + 1, timer); ArrayList> results = new ArrayList>(n);