Java 类java.util.concurrent.BrokenBarrierException 实例源码

项目:guava-mock    文件:AbstractScheduledServiceTest.java   
public void testCustomScheduler_deadlock() throws InterruptedException, BrokenBarrierException {
  final CyclicBarrier inGetNextSchedule = new CyclicBarrier(2);
  // This will flakily deadlock, so run it multiple times to increase the flake likelihood
  for (int i = 0; i < 1000; i++) {
    Service service = new AbstractScheduledService() {
      @Override protected void runOneIteration() {}
      @Override protected Scheduler scheduler() {
        return new CustomScheduler() {
          @Override protected Schedule getNextSchedule() throws Exception {
            if (state() != State.STARTING) {
              inGetNextSchedule.await();
              Thread.yield();
              throw new RuntimeException("boom");
            }
            return new Schedule(0, TimeUnit.NANOSECONDS);
          }
        };
      }
    };
    service.startAsync().awaitRunning();
    inGetNextSchedule.await();
    service.stopAsync();
  }
}
项目:cyberduck    文件:BackgroundActionPauser.java   
public void await() {
    if(0 == delay) {
        log.info("No pause between retry");
        return;
    }
    final Timer wakeup = new Timer();
    final CyclicBarrier wait = new CyclicBarrier(2);
    // Schedule for immediate execution with an interval of 1s
    wakeup.scheduleAtFixedRate(new PauserTimerTask(wait), 0, 1000);
    try {
        // Wait for notify from wakeup timer
        wait.await();
    }
    catch(InterruptedException | BrokenBarrierException e) {
        log.error(e.getMessage(), e);
    }
}
项目:cyberduck    文件:TransferQueueTest.java   
@Test
public void testConcurrent() throws Exception {
    final TransferQueue queue = new TransferQueue(1);
    final DownloadTransfer transfer = new DownloadTransfer(new Host(new TestProtocol()), new Path("/t", EnumSet.of(Path.Type.directory)), null);
    queue.add(transfer, new DisabledProgressListener());
    final AtomicBoolean added = new AtomicBoolean();
    final CyclicBarrier wait = new CyclicBarrier(2);
    new Thread(new Runnable() {
        @Override
        public void run() {
            queue.add(new DownloadTransfer(new Host(new TestProtocol()), new Path("/t", EnumSet.of(Path.Type.directory)), null), new DisabledProgressListener());
            added.set(true);
            try {
                wait.await();
            }
            catch(InterruptedException | BrokenBarrierException e) {
                fail();
            }
        }
    }).start();
    assertFalse(added.get());
    queue.remove(transfer);
    wait.await();
    assertTrue(added.get());
}
项目:Ferma-OrientDB    文件:TxTest.java   
@Test
public void testTxConflictHandling() throws InterruptedException, BrokenBarrierException, TimeoutException, IOException {
    // Test creation of user in current thread
    int nFriendsBefore;
    try (Tx tx = graph.tx()) {
        p = addPersonWithFriends(tx.getGraph(), "Person2");
        manipulatePerson(tx.getGraph(), p);
        tx.success();
        nFriendsBefore = p.getFriends().size();
    }

    CyclicBarrier b = new CyclicBarrier(3);
    addFriendToPersonInThread(p, b);
    addFriendToPersonInThread(p, b);

    // Wait until both threads have started their transactions
    b.await();
    Thread.sleep(2000);
    try (Tx tx = graph.tx()) {
        // Reload the person in a fresh transaction
        p = tx.getGraph().getFramedVertexExplicit(Person.class, p.getId());
        int nFriendsAfter = p.getFriends().size();
        assertEquals(nFriendsBefore + 2, nFriendsAfter);
    }

}
项目:java-concurrency-cheatsheet    文件:Main.java   
@Override
public void run() {
    int counter;
    System.out.printf("%s: Processing lines from %d to %d.\n", Thread.currentThread().getName(), firstRow, lastRow);
    for (int i = firstRow; i < lastRow; i++) {
        int row[] = mock.getRow(i);
        counter = 0;
        for (int aRow : row) {
            if (aRow == number) {
                counter++;
            }
        }
        results.setData(i, counter);
    }
    System.out.printf("%s: Lines processed.\n", Thread.currentThread().getName());
    try {
        barrier.await();
    } catch (InterruptedException | BrokenBarrierException e) {
        e.printStackTrace();
    }
}
项目:QLExpress    文件:CrashTest.java   
/**
 * 版本3.0.9以下存在多线程初始化问题,这个类作为一个样例
 */
public static void main(String[] args) throws InterruptedException, BrokenBarrierException {
    System.out.println(Arrays.asList(splitWord));
    for (int j = 0; j < 1000; j++) {
        CyclicBarrier barrier = new CyclicBarrier(11, null);
        for (int i = 0; i < 10; i++) {
            Thread t = new Thread(new Worker(barrier), "t" + i);
            t.start();
        }
        Thread.sleep(500);
        barrier.await();
        while (barrier.getNumberWaiting() > 0) {
            Thread.sleep(1000);
        }
        Thread.sleep(1000);
        System.out.println(Arrays.asList(splitWord));
    }
}
项目:hadoop    文件:TestNodeManagerResync.java   
@SuppressWarnings("unchecked")
@Test(timeout=60000)
public void testBlockNewContainerRequestsOnStartAndResync()
    throws IOException, InterruptedException, YarnException {
  NodeManager nm = new TestNodeManager2();
  YarnConfiguration conf = createNMConfig();
  conf.setBoolean(YarnConfiguration.RM_WORK_PRESERVING_RECOVERY_ENABLED, false);
  nm.init(conf);
  nm.start();

  // Start the container in running state
  ContainerId cId = TestNodeManagerShutdown.createContainerId();
  TestNodeManagerShutdown.startContainer(nm, cId, localFS, tmpDir,
    processStartFile);

  nm.getNMDispatcher().getEventHandler()
    .handle(new NodeManagerEvent(NodeManagerEventType.RESYNC));
  try {
    syncBarrier.await();
  } catch (BrokenBarrierException e) {
  }
  Assert.assertFalse(assertionFailedInThread.get());
  nm.stop();
}
项目:jdk8u-jdk    文件:B4769350.java   
@Override
public void handle(HttpExchange exchange) throws IOException {
    count++;
    try {
        switch(count) {
            case 0:
                AuthenticationHandler.errorReply(exchange,
                        "Basic realm=\"realm1\"");
                break;
            case 1:
                t1Cond1.await();
                t1cond2latch.await();
                AuthenticationHandler.okReply(exchange);
                break;
            default:
                System.out.println ("Unexpected request");
        }
    } catch (InterruptedException |
                     BrokenBarrierException e)
            {
                throw new RuntimeException(e);
            }
}
项目:jdk8u-jdk    文件:B4769350.java   
@Override
public void handle(HttpExchange exchange) throws IOException {
    count++;
    try {
        switch(count) {
            case 0:
                AuthenticationHandler.errorReply(exchange,
                        "Basic realm=\"realm2\"");
                break;
            case 1:
                t1Cond1.await();
                t1cond1latch.countDown();
                t1cond2latch.await();
                AuthenticationHandler.okReply(exchange);
                break;
            default:
                System.out.println ("Unexpected request");
        }
    } catch (InterruptedException | BrokenBarrierException e) {
        throw new RuntimeException(e);
    }
}
项目:jdk8u-jdk    文件:B4769350.java   
@Override
public void handle(HttpExchange exchange) throws IOException {
    count++;
    switch(count) {
        case 0:
            AuthenticationHandler.errorReply(exchange,
                    "Basic realm=\"realm1\"");
            try {
                t1Cond2.await();
            } catch (InterruptedException |
                     BrokenBarrierException e)
            {
                throw new RuntimeException(e);
            }
            break;
        case 1:
            AuthenticationHandler.okReply(exchange);
            break;
        default:
            System.out.println ("Unexpected request");
    }
}
项目:jdk8u-jdk    文件:B4769350.java   
@Override
public void handle(HttpExchange exchange) throws IOException {
    count++;
    switch(count) {
        case 0:
            AuthenticationHandler.errorReply(exchange,
                    "Basic realm=\"realm2\"");
            try {
                t1Cond2.await();
            } catch (InterruptedException |
                     BrokenBarrierException e)
            {
                throw new RuntimeException(e);
            }
            t1cond2latch.countDown();
            break;
        case 1:
            AuthenticationHandler.okReply(exchange);
            break;
        default:
            System.out.println ("Unexpected request");
    }
}
项目:openjdk-jdk10    文件:CancelledFutureLoops.java   
public static void main(String[] args) throws Exception {
    int maxThreads = 5;
    if (args.length > 0)
        maxThreads = Integer.parseInt(args[0]);

    print = true;

    for (int i = 2; i <= maxThreads; i += (i+1) >>> 1) {
        System.out.print("Threads: " + i);
        try {
            new FutureLoop(i, rnd.split()).test();
        }
        catch (BrokenBarrierException bb) {
            // OK; ignore
        }
        catch (ExecutionException ee) {
            // OK; ignore
        }
        Thread.sleep(TIMEOUT);
    }
    pool.shutdown();
    if (! pool.awaitTermination(6 * LONG_DELAY_MS, MILLISECONDS))
        throw new Error();
}
项目:openjdk-jdk10    文件:CyclicBarrierTest.java   
/**
 * An interruption in one party causes others waiting in await to
 * throw BrokenBarrierException
 */
public void testAwait1_Interrupted_BrokenBarrier() {
    final CyclicBarrier c = new CyclicBarrier(3);
    final CountDownLatch pleaseInterrupt = new CountDownLatch(2);
    Thread t1 = new ThreadShouldThrow(InterruptedException.class) {
        public void realRun() throws Exception {
            pleaseInterrupt.countDown();
            c.await();
        }};
    Thread t2 = new ThreadShouldThrow(BrokenBarrierException.class) {
        public void realRun() throws Exception {
            pleaseInterrupt.countDown();
            c.await();
        }};

    t1.start();
    t2.start();
    await(pleaseInterrupt);
    t1.interrupt();
    awaitTermination(t1);
    awaitTermination(t2);
}
项目:openjdk-jdk10    文件:CyclicBarrierTest.java   
/**
 * An interruption in one party causes others waiting in timed await to
 * throw BrokenBarrierException
 */
public void testAwait2_Interrupted_BrokenBarrier() throws Exception {
    final CyclicBarrier c = new CyclicBarrier(3);
    final CountDownLatch pleaseInterrupt = new CountDownLatch(2);
    Thread t1 = new ThreadShouldThrow(InterruptedException.class) {
        public void realRun() throws Exception {
            pleaseInterrupt.countDown();
            c.await(LONG_DELAY_MS, MILLISECONDS);
        }};
    Thread t2 = new ThreadShouldThrow(BrokenBarrierException.class) {
        public void realRun() throws Exception {
            pleaseInterrupt.countDown();
            c.await(LONG_DELAY_MS, MILLISECONDS);
        }};

    t1.start();
    t2.start();
    await(pleaseInterrupt);
    t1.interrupt();
    awaitTermination(t1);
    awaitTermination(t2);
}
项目:openjdk-jdk10    文件:CyclicBarrierTest.java   
/**
 * A reset of an active barrier causes waiting threads to throw
 * BrokenBarrierException
 */
public void testReset_BrokenBarrier() throws InterruptedException {
    final CyclicBarrier c = new CyclicBarrier(3);
    final CountDownLatch pleaseReset = new CountDownLatch(2);
    Thread t1 = new ThreadShouldThrow(BrokenBarrierException.class) {
        public void realRun() throws Exception {
            pleaseReset.countDown();
            c.await();
        }};
    Thread t2 = new ThreadShouldThrow(BrokenBarrierException.class) {
        public void realRun() throws Exception {
            pleaseReset.countDown();
            c.await();
        }};

    t1.start();
    t2.start();
    await(pleaseReset);

    awaitNumberWaiting(c, 2);
    c.reset();
    awaitTermination(t1);
    awaitTermination(t2);
}
项目:openjdk-jdk10    文件:B4769350.java   
@Override
public void handle(HttpExchange exchange) throws IOException {
    count++;
    try {
        switch(count) {
            case 0:
                AuthenticationHandler.errorReply(exchange,
                        "Basic realm=\"realm1\"");
                break;
            case 1:
                t1Cond1.await();
                AuthenticationHandler.okReply(exchange);
                break;
            default:
                System.out.println ("Unexpected request");
        }
    } catch (InterruptedException |
                     BrokenBarrierException e)
            {
                throw new RuntimeException(e);
            }
}
项目:openjdk-jdk10    文件:B4769350.java   
@Override
public void handle(HttpExchange exchange) throws IOException {
    count++;
    try {
        switch(count) {
            case 0:
                AuthenticationHandler.errorReply(exchange,
                        "Basic realm=\"realm2\"");
                break;
            case 1:
                t1Cond1.await();
                AuthenticationHandler.okReply(exchange);
                break;
            default:
                System.out.println ("Unexpected request");
        }
    } catch (InterruptedException | BrokenBarrierException e) {
        throw new RuntimeException(e);
    }
}
项目:googles-monorepo-demo    文件:AbstractScheduledServiceTest.java   
public void testCustomScheduler_deadlock() throws InterruptedException, BrokenBarrierException {
  final CyclicBarrier inGetNextSchedule = new CyclicBarrier(2);
  // This will flakily deadlock, so run it multiple times to increase the flake likelihood
  for (int i = 0; i < 1000; i++) {
    Service service = new AbstractScheduledService() {
      @Override protected void runOneIteration() {}
      @Override protected Scheduler scheduler() {
        return new CustomScheduler() {
          @Override protected Schedule getNextSchedule() throws Exception {
            if (state() != State.STARTING) {
              inGetNextSchedule.await();
              Thread.yield();
              throw new RuntimeException("boom");
            }
            return new Schedule(0, TimeUnit.NANOSECONDS);
          }
        };
      }
    };
    service.startAsync().awaitRunning();
    inGetNextSchedule.await();
    service.stopAsync();
  }
}
项目:openjdk9    文件:CancelledFutureLoops.java   
public static void main(String[] args) throws Exception {
    int maxThreads = 5;
    if (args.length > 0)
        maxThreads = Integer.parseInt(args[0]);

    print = true;

    for (int i = 2; i <= maxThreads; i += (i+1) >>> 1) {
        System.out.print("Threads: " + i);
        try {
            new FutureLoop(i, rnd.split()).test();
        }
        catch (BrokenBarrierException bb) {
            // OK; ignore
        }
        catch (ExecutionException ee) {
            // OK; ignore
        }
        Thread.sleep(TIMEOUT);
    }
    pool.shutdown();
    if (! pool.awaitTermination(6 * LONG_DELAY_MS, MILLISECONDS))
        throw new Error();
}
项目:openjdk9    文件:CyclicBarrierTest.java   
/**
 * An interruption in one party causes others waiting in await to
 * throw BrokenBarrierException
 */
public void testAwait1_Interrupted_BrokenBarrier() {
    final CyclicBarrier c = new CyclicBarrier(3);
    final CountDownLatch pleaseInterrupt = new CountDownLatch(2);
    Thread t1 = new ThreadShouldThrow(InterruptedException.class) {
        public void realRun() throws Exception {
            pleaseInterrupt.countDown();
            c.await();
        }};
    Thread t2 = new ThreadShouldThrow(BrokenBarrierException.class) {
        public void realRun() throws Exception {
            pleaseInterrupt.countDown();
            c.await();
        }};

    t1.start();
    t2.start();
    await(pleaseInterrupt);
    t1.interrupt();
    awaitTermination(t1);
    awaitTermination(t2);
}
项目:openjdk9    文件:CyclicBarrierTest.java   
/**
 * An interruption in one party causes others waiting in timed await to
 * throw BrokenBarrierException
 */
public void testAwait2_Interrupted_BrokenBarrier() throws Exception {
    final CyclicBarrier c = new CyclicBarrier(3);
    final CountDownLatch pleaseInterrupt = new CountDownLatch(2);
    Thread t1 = new ThreadShouldThrow(InterruptedException.class) {
        public void realRun() throws Exception {
            pleaseInterrupt.countDown();
            c.await(LONG_DELAY_MS, MILLISECONDS);
        }};
    Thread t2 = new ThreadShouldThrow(BrokenBarrierException.class) {
        public void realRun() throws Exception {
            pleaseInterrupt.countDown();
            c.await(LONG_DELAY_MS, MILLISECONDS);
        }};

    t1.start();
    t2.start();
    await(pleaseInterrupt);
    t1.interrupt();
    awaitTermination(t1);
    awaitTermination(t2);
}
项目:openjdk9    文件:CyclicBarrierTest.java   
/**
 * A reset of an active barrier causes waiting threads to throw
 * BrokenBarrierException
 */
public void testReset_BrokenBarrier() throws InterruptedException {
    final CyclicBarrier c = new CyclicBarrier(3);
    final CountDownLatch pleaseReset = new CountDownLatch(2);
    Thread t1 = new ThreadShouldThrow(BrokenBarrierException.class) {
        public void realRun() throws Exception {
            pleaseReset.countDown();
            c.await();
        }};
    Thread t2 = new ThreadShouldThrow(BrokenBarrierException.class) {
        public void realRun() throws Exception {
            pleaseReset.countDown();
            c.await();
        }};

    t1.start();
    t2.start();
    await(pleaseReset);

    awaitNumberWaiting(c, 2);
    c.reset();
    awaitTermination(t1);
    awaitTermination(t2);
}
项目:openjdk9    文件:B4769350.java   
@Override
public void handle(HttpExchange exchange) throws IOException {
    count++;
    try {
        switch(count) {
            case 0:
                AuthenticationHandler.errorReply(exchange,
                        "Basic realm=\"realm1\"");
                break;
            case 1:
                t1Cond1.await();
                AuthenticationHandler.okReply(exchange);
                break;
            default:
                System.out.println ("Unexpected request");
        }
    } catch (InterruptedException |
                     BrokenBarrierException e)
            {
                throw new RuntimeException(e);
            }
}
项目:openjdk9    文件:B4769350.java   
@Override
public void handle(HttpExchange exchange) throws IOException {
    count++;
    try {
        switch(count) {
            case 0:
                AuthenticationHandler.errorReply(exchange,
                        "Basic realm=\"realm2\"");
                break;
            case 1:
                t1Cond1.await();
                AuthenticationHandler.okReply(exchange);
                break;
            default:
                System.out.println ("Unexpected request");
        }
    } catch (InterruptedException | BrokenBarrierException e) {
        throw new RuntimeException(e);
    }
}
项目:aliyun-oss-hadoop-fs    文件:TestNodeManagerResync.java   
@SuppressWarnings("unchecked")
@Test(timeout=60000)
public void testBlockNewContainerRequestsOnStartAndResync()
    throws IOException, InterruptedException, YarnException {
  NodeManager nm = new TestNodeManager2();
  int port = ServerSocketUtil.getPort(49154, 10);
  YarnConfiguration conf = createNMConfig(port);
  conf.setBoolean(YarnConfiguration.RM_WORK_PRESERVING_RECOVERY_ENABLED, false);
  nm.init(conf);
  nm.start();

  // Start the container in running state
  ContainerId cId = TestNodeManagerShutdown.createContainerId();
  TestNodeManagerShutdown.startContainer(nm, cId, localFS, tmpDir,
      processStartFile, port);

  nm.getNMDispatcher().getEventHandler()
    .handle(new NodeManagerEvent(NodeManagerEventType.RESYNC));
  try {
    syncBarrier.await();
  } catch (BrokenBarrierException e) {
  }
  Assert.assertFalse(assertionFailedInThread.get());
  nm.stop();
}
项目:aliyun-oss-hadoop-fs    文件:TestNodeManagerResync.java   
@SuppressWarnings("unchecked")
@Test(timeout=60000)
public void testContainerResourceIncreaseIsSynchronizedWithRMResync()
    throws IOException, InterruptedException, YarnException {
  NodeManager nm = new TestNodeManager4();
  YarnConfiguration conf = createNMConfig();
  conf.setBoolean(
      YarnConfiguration.RM_WORK_PRESERVING_RECOVERY_ENABLED, true);
  nm.init(conf);
  nm.start();
  // Start a container and make sure it is in RUNNING state
  ((TestNodeManager4)nm).startContainer();
  // Simulate a container resource increase in a separate thread
  ((TestNodeManager4)nm).increaseContainersResource();
  // Simulate RM restart by sending a RESYNC event
  LOG.info("Sending out RESYNC event");
  nm.getNMDispatcher().getEventHandler().handle(
      new NodeManagerEvent(NodeManagerEventType.RESYNC));
  try {
    syncBarrier.await();
  } catch (BrokenBarrierException e) {
    e.printStackTrace();
  }
  Assert.assertFalse(assertionFailedInThread.get());
  nm.stop();
}
项目:java-basic-skills    文件:CallbackListenableFutureBarrierDemo.java   
public static void main(String[] args) throws BrokenBarrierException, InterruptedException {
    final CyclicBarrier barrier = new CyclicBarrier(4);
    ExecutorService executorService = Executors.newSingleThreadExecutor();
    ListenableFutureTask<String> listenableFutureTask = ListenableFutureTask.create(() -> {
        log.info("listenable future begin to execute");
        TimeUnit.SECONDS.sleep(5);
        return "listenable future task done";
    });
    // !!!!! barrier貌似并不能实现,对比下CountDownLatch,两种控制的应用场景
    Futures.addCallback(listenableFutureTask, new BarrieredSimpleFutureCallback(0, barrier), executorService);
    Futures.addCallback(listenableFutureTask, new BarrieredSimpleFutureCallback(1, barrier), executorService);
    Futures.addCallback(listenableFutureTask, new BarrieredSimpleFutureCallback(2, barrier), executorService);
    executorService.execute(listenableFutureTask);

    barrier.await();
    executorService.shutdown();
}
项目:java-basic-skills    文件:CallbackListenableFutureLatchDemo.java   
public static void main(String[] args) throws InterruptedException, BrokenBarrierException {
    final CountDownLatch latch = new CountDownLatch(3);
    //ListeningExecutorService executorService = MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor());
    ExecutorService executorService = Executors.newSingleThreadExecutor();
    ListenableFutureTask<String> listenableFutureTask = ListenableFutureTask.create(() -> {
        log.info("listenable future begin to execute");
        TimeUnit.SECONDS.sleep(5);
        return "listenable future task done";
    });
    // add three callbacks, use executorService instance to execute
    Futures.addCallback(listenableFutureTask, new LatchedSimpleFutureCallback(0, latch), executorService);
    Futures.addCallback(listenableFutureTask, new LatchedSimpleFutureCallback(1, latch), executorService);
    Futures.addCallback(listenableFutureTask, new LatchedSimpleFutureCallback(2, latch), executorService);
    // execute listenable future task
    executorService.execute(listenableFutureTask);
    // ensure listener execution before ExecutorService#shutdown
    if (latch.getCount() > 0) {
        latch.await();
    }
    // ExecutorService.shutdown()
    executorService.shutdown();
}
项目:big-c    文件:TestNodeManagerResync.java   
@SuppressWarnings("unchecked")
@Test(timeout=60000)
public void testBlockNewContainerRequestsOnStartAndResync()
    throws IOException, InterruptedException, YarnException {
  NodeManager nm = new TestNodeManager2();
  YarnConfiguration conf = createNMConfig();
  conf.setBoolean(YarnConfiguration.RM_WORK_PRESERVING_RECOVERY_ENABLED, false);
  nm.init(conf);
  nm.start();

  // Start the container in running state
  ContainerId cId = TestNodeManagerShutdown.createContainerId();
  TestNodeManagerShutdown.startContainer(nm, cId, localFS, tmpDir,
    processStartFile);

  nm.getNMDispatcher().getEventHandler()
    .handle(new NodeManagerEvent(NodeManagerEventType.RESYNC));
  try {
    syncBarrier.await();
  } catch (BrokenBarrierException e) {
  }
  Assert.assertFalse(assertionFailedInThread.get());
  nm.stop();
}
项目:disruptor-code-analysis    文件:PingPongSequencedLatencyTest.java   
private void runDisruptorPass() throws InterruptedException, BrokenBarrierException
{
    final CountDownLatch latch = new CountDownLatch(1);
    final CyclicBarrier barrier = new CyclicBarrier(3);
    pinger.reset(barrier, latch, histogram);
    ponger.reset(barrier);

    executor.submit(pongProcessor);
    executor.submit(pingProcessor);

    barrier.await();
    latch.await();

    pingProcessor.halt();
    pongProcessor.halt();
}
项目:disruptor-code-analysis    文件:DisruptorTest.java   
private void ensureTwoEventsProcessedAccordingToDependencies(
    final CountDownLatch countDownLatch,
    final DelayedEventHandler... dependencies)
    throws InterruptedException, BrokenBarrierException
{
    publishEvent();
    publishEvent();

    for (DelayedEventHandler dependency : dependencies)
    {
        assertThatCountDownLatchEquals(countDownLatch, 2L);
        dependency.processEvent();
        dependency.processEvent();
    }

    assertThatCountDownLatchIsZero(countDownLatch);
}
项目:disruptor-code-analysis    文件:DisruptorTest.java   
private TestEvent publishEvent() throws InterruptedException, BrokenBarrierException
{
    if (ringBuffer == null)
    {
        ringBuffer = disruptor.start();

        for (DelayedEventHandler eventHandler : delayedEventHandlers)
        {
            eventHandler.awaitStart();
        }
    }

    disruptor.publishEvent(
        new EventTranslator<TestEvent>()
        {
            @Override
            public void translateTo(final TestEvent event, final long sequence)
            {
                lastPublishedEvent = event;
            }
        });

    return lastPublishedEvent;
}
项目:planet    文件:TaskRunner.java   
@Override
@SuppressWarnings("SleepWhileInLoop")
public void run() {
  while (executing) {
    try {
      if (running) {
        long start = System.currentTimeMillis();
        update();
        timeLapse.getAndSet((int) (System.currentTimeMillis() - start));
      }

      Thread.sleep(miliSeconds);

      if (!running || !continuous) {
        waiter.await();
      }
    } catch (InterruptedException | BrokenBarrierException e) {
    }
  }
}
项目:google-cloud-eclipse    文件:PluggableJobTest.java   
@Test
public void testJobCancelingCancelsFuture() throws InterruptedException, BrokenBarrierException {
  final CyclicBarrier barrier = new CyclicBarrier(2);
  PluggableJob<Object> job = new PluggableJob<Object>("name", new Callable<Object>() {
    public Object call() {
      try {
        barrier.await(); // job started: should release main thread
        barrier.await(); // wait for job cancel
      } catch (InterruptedException | BrokenBarrierException ex) {
      }
      return barrier;
    }
  });
  job.schedule();
  barrier.await();
  job.cancel();
  assertTrue("future should be cancelled by canceling()", job.getFuture().isCancelled());
  barrier.await(); // job should now finish but be cancelled
  job.join();
  assertNotNull("Job should be finished", job.getResult());
  assertEquals("Should be CANCEL", IStatus.CANCEL, job.getResult().getSeverity());
}
项目:google-cloud-eclipse    文件:PluggableJobTest.java   
@Test
public void testFutureCancelingCancelsJob() throws InterruptedException, BrokenBarrierException {
  final CyclicBarrier barrier = new CyclicBarrier(2);
  PluggableJob<Object> job = new PluggableJob<Object>("name", new Callable<Object>() {
    public Object call() {
      try {
        barrier.await(); // job started: should release main thread
        barrier.await(); // wait for future cancel
      } catch (InterruptedException | BrokenBarrierException ex) {
      }
      return barrier;
    }
  });
  job.schedule();
  barrier.await(); // wait until job started
  assertEquals("Should be RUNNING", Job.RUNNING, job.getState());
  job.getFuture().cancel(true);
  barrier.await(); // job should now finish but report as cancelled
  job.join();
  assertNotNull("Job should be finished", job.getResult());
  assertEquals("Should be CANCEL", IStatus.CANCEL, job.getResult().getSeverity());
}
项目:megaphone    文件:Head302Test.java   
@Test(groups = "standalone")
public void testHEAD302() throws IOException, BrokenBarrierException, InterruptedException, ExecutionException, TimeoutException {
    try (AsyncHttpClient client = asyncHttpClient()) {
        final CountDownLatch l = new CountDownLatch(1);
        Request request = head("http://localhost:" + port1 + "/Test").build();

        client.executeRequest(request, new AsyncCompletionHandlerBase() {
            @Override
            public Response onCompleted(Response response) throws Exception {
                l.countDown();
                return super.onCompleted(response);
            }
        }).get(3, TimeUnit.SECONDS);

        if (!l.await(TIMEOUT, TimeUnit.SECONDS)) {
            fail("Timeout out");
        }
    }
}
项目:jdk8u_jdk    文件:B4769350.java   
@Override
public void handle(HttpExchange exchange) throws IOException {
    count++;
    try {
        switch(count) {
            case 0:
                AuthenticationHandler.errorReply(exchange,
                        "Basic realm=\"realm1\"");
                break;
            case 1:
                t1Cond1.await();
                t1cond2latch.await();
                AuthenticationHandler.okReply(exchange);
                break;
            default:
                System.out.println ("Unexpected request");
        }
    } catch (InterruptedException |
                     BrokenBarrierException e)
            {
                throw new RuntimeException(e);
            }
}
项目:jdk8u_jdk    文件:B4769350.java   
@Override
public void handle(HttpExchange exchange) throws IOException {
    count++;
    try {
        switch(count) {
            case 0:
                AuthenticationHandler.errorReply(exchange,
                        "Basic realm=\"realm2\"");
                break;
            case 1:
                t1Cond1.await();
                t1cond1latch.countDown();
                t1cond2latch.await();
                AuthenticationHandler.okReply(exchange);
                break;
            default:
                System.out.println ("Unexpected request");
        }
    } catch (InterruptedException | BrokenBarrierException e) {
        throw new RuntimeException(e);
    }
}
项目:jdk8u_jdk    文件:B4769350.java   
@Override
public void handle(HttpExchange exchange) throws IOException {
    count++;
    switch(count) {
        case 0:
            AuthenticationHandler.errorReply(exchange,
                    "Basic realm=\"realm1\"");
            try {
                t1Cond2.await();
            } catch (InterruptedException |
                     BrokenBarrierException e)
            {
                throw new RuntimeException(e);
            }
            break;
        case 1:
            AuthenticationHandler.okReply(exchange);
            break;
        default:
            System.out.println ("Unexpected request");
    }
}
项目:jdk8u_jdk    文件:B4769350.java   
@Override
public void handle(HttpExchange exchange) throws IOException {
    count++;
    switch(count) {
        case 0:
            AuthenticationHandler.errorReply(exchange,
                    "Basic realm=\"realm2\"");
            try {
                t1Cond2.await();
            } catch (InterruptedException |
                     BrokenBarrierException e)
            {
                throw new RuntimeException(e);
            }
            t1cond2latch.countDown();
            break;
        case 1:
            AuthenticationHandler.okReply(exchange);
            break;
        default:
            System.out.println ("Unexpected request");
    }
}