--- jsr166/src/test/loops/CancelledProducerConsumerLoops.java 2007/02/19 00:46:06 1.4 +++ jsr166/src/test/loops/CancelledProducerConsumerLoops.java 2009/11/02 23:42:46 1.7 @@ -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)); @@ -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 { final BlockingQueue queue; final CyclicBarrier barrier; final int iters; Stage (BlockingQueue q, CyclicBarrier b, int iters) { - queue = q; + 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); }