--- jsr166/src/test/loops/CancelledProducerConsumerLoops.java 2007/02/19 00:46:06 1.4 +++ jsr166/src/test/loops/CancelledProducerConsumerLoops.java 2010/09/27 19:15:15 1.10 @@ -7,7 +7,7 @@ import java.util.concurrent.*; public class CancelledProducerConsumerLoops { static final int CAPACITY = 100; - static final long TIMEOUT = 100; + static final long TIMEOUT = 100; static final ExecutorService pool = Executors.newCachedThreadPool(); static boolean print = false; @@ -16,17 +16,17 @@ public class CancelledProducerConsumerLo int maxPairs = 8; int iters = 1000000; - if (args.length > 0) + if (args.length > 0) maxPairs = Integer.parseInt(args[0]); print = true; - + for (int i = 1; i <= maxPairs; i += (i+1) >>> 1) { System.out.println("Pairs:" + i); try { oneTest(i, iters); } - catch(BrokenBarrierException bb) { + catch (BrokenBarrierException bb) { // OK, ignore } Thread.sleep(100); @@ -39,7 +39,7 @@ public class CancelledProducerConsumerLo CyclicBarrier barrier = new CyclicBarrier(npairs * 2 + 1, timer); Future[] prods = new Future[npairs]; Future[] cons = new Future[npairs]; - + for (int i = 0; i < npairs; ++i) { prods[i] = pool.submit(new Producer(q, barrier, iters)); cons[i] = pool.submit(new Consumer(q, barrier, iters)); @@ -72,7 +72,7 @@ public class CancelledProducerConsumerLo long endTime = System.nanoTime(); long time = endTime - timer.startTime; if (print) { - double secs = (double)(time) / 1000000000.0; + double secs = (double) time / 1000000000.0; System.out.println("\t " + secs + "s run time"); } } @@ -87,6 +87,9 @@ public class CancelledProducerConsumerLo System.out.print("LinkedBlockingQueue "); oneRun(new LinkedBlockingQueue(CAPACITY), pairs, iters); + if (print) + System.out.print("LinkedTransferQueue "); + oneRun(new LinkedTransferQueue(), pairs, iters); if (print) System.out.print("SynchronousQueue "); @@ -103,13 +106,13 @@ public class CancelledProducerConsumerLo oneRun(new PriorityBlockingQueue(ITERS / 2 * pairs), pairs, iters / 4); */ } - - static abstract class Stage implements Callable { + + abstract static class Stage implements Callable { final BlockingQueue queue; final CyclicBarrier barrier; final int iters; - Stage (BlockingQueue q, CyclicBarrier b, int iters) { - queue = q; + Stage(BlockingQueue q, CyclicBarrier b, int iters) { + queue = q; barrier = b; this.iters = iters; } @@ -135,7 +138,7 @@ public class CancelledProducerConsumerLo } static class Consumer extends Stage { - Consumer(BlockingQueue q, CyclicBarrier b, int iters) { + Consumer(BlockingQueue q, CyclicBarrier b, int iters) { super(q, b, iters); }