--- jsr166/src/test/tck/CyclicBarrierTest.java 2015/04/25 04:55:30 1.27 +++ jsr166/src/test/tck/CyclicBarrierTest.java 2016/09/15 01:18:01 1.28 @@ -13,6 +13,7 @@ import java.util.concurrent.CountDownLat import java.util.concurrent.CyclicBarrier; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; import junit.framework.Test; import junit.framework.TestSuite; @@ -25,11 +26,6 @@ public class CyclicBarrierTest extends J return new TestSuite(CyclicBarrierTest.class); } - private volatile int countAction; - private class MyAction implements Runnable { - public void run() { ++countAction; } - } - /** * Spin-waits till the number of waiters == numberOfWaiters. */ @@ -87,14 +83,16 @@ public class CyclicBarrierTest extends J * The supplied barrier action is run at barrier */ public void testBarrierAction() throws Exception { - countAction = 0; - CyclicBarrier b = new CyclicBarrier(1, new MyAction()); + final AtomicInteger count = new AtomicInteger(0); + final Runnable incCount = new Runnable() { public void run() { + count.getAndIncrement(); }}; + CyclicBarrier b = new CyclicBarrier(1, incCount); assertEquals(1, b.getParties()); assertEquals(0, b.getNumberWaiting()); b.await(); b.await(); assertEquals(0, b.getNumberWaiting()); - assertEquals(2, countAction); + assertEquals(2, count.get()); } /**