Java 类java.util.concurrent.atomic.AtomicInteger 实例源码

项目:hadoop    文件:WeightedRoundRobinMultiplexer.java   
public WeightedRoundRobinMultiplexer(int aNumQueues, String ns,
  Configuration conf) {
  if (aNumQueues <= 0) {
    throw new IllegalArgumentException("Requested queues (" + aNumQueues +
      ") must be greater than zero.");
  }

  this.numQueues = aNumQueues;
  this.queueWeights = conf.getInts(ns + "." +
    IPC_CALLQUEUE_WRRMUX_WEIGHTS_KEY);

  if (this.queueWeights.length == 0) {
    this.queueWeights = getDefaultQueueWeights(this.numQueues);
  } else if (this.queueWeights.length != this.numQueues) {
    throw new IllegalArgumentException(ns + "." +
      IPC_CALLQUEUE_WRRMUX_WEIGHTS_KEY + " must specify exactly " +
      this.numQueues + " weights: one for each priority level.");
  }

  this.currentQueueIndex = new AtomicInteger(0);
  this.requestsLeft = new AtomicInteger(this.queueWeights[0]);

  LOG.info("WeightedRoundRobinMultiplexer is being used.");
}
项目:https-github.com-apache-zookeeper    文件:LeaderElectionSupportTest.java   
@Test
public void testNodes9() throws IOException, InterruptedException,
    KeeperException {

  int testIterations = 9;
  final CountDownLatch latch = new CountDownLatch(testIterations);
  final AtomicInteger failureCounter = new AtomicInteger();

  for (int i = 0; i < testIterations; i++) {
    runElectionSupportThread(latch, failureCounter);
  }

  Assert.assertEquals(0, failureCounter.get());

  if (!latch.await(10, TimeUnit.SECONDS)) {
    logger
        .info(
            "Waited for all threads to start, but timed out. We had {} failures.",
            failureCounter);
  }
}
项目:GitHub    文件:ListPreloaderTest.java   
@Test
public void testGetItemsIsCalledIncreasing() {
  final AtomicBoolean called = new AtomicBoolean(false);
  final AtomicInteger calledCount = new AtomicInteger();

  ListPreloaderAdapter preloaderAdapter = new ListPreloaderAdapter() {
    @NonNull
    @Override
    public List<Object> getPreloadItems(int position) {
      called.set(true);
      final int count = calledCount.getAndIncrement();
      assertEquals(11 + count, position);
      return super.getPreloadItems(position);
    }
  };
  ListPreloader<Object> preloader = new ListPreloader<>(requestManager,
      preloaderAdapter, preloaderAdapter, 10);
  preloader.onScroll(null, 1, 10, 30);
  assertEquals(10, calledCount.get());
}
项目:incubator-netbeans    文件:JavaRefactoringActionsProviderTest.java   
public void test211193() throws Exception {
    writeFilesAndWaitForScan(src,
            new File("t/A.java", "package t;\n"
            + "public class A {\n"
            + "    public static void foo() {\n"
            + "        int someArray[] = {};\n"
            + "    }\n"
            + "}"));
    FileObject testFile = src.getFileObject("t/A.java");
    DataObject testFileDO = DataObject.find(testFile);
    EditorCookie ec = testFileDO.getLookup().lookup(EditorCookie.class);
    ec.open();
    ec.getOpenedPanes()[0].setCaretPosition(71);
    ec.getOpenedPanes()[0].moveCaretPosition(80);
    final AtomicInteger called = new AtomicInteger();
    ContextAnalyzer.SHOW = new ContextAnalyzer.ShowUI() {
        @Override
        public void show(RefactoringUI ui, TopComponent activetc) {
            assertNotNull(ui);
            called.incrementAndGet();
        }
    };
    int expectedCount = 0;
    new RefactoringActionsProvider().doRename(Lookups.fixed(ec));
    assertEquals(++expectedCount, called.get());
}
项目:kafka-0.11.0.0-src-with-comment    文件:WorkerSourceTaskTest.java   
private CountDownLatch expectPolls(int minimum, final AtomicInteger count) throws InterruptedException {
    final CountDownLatch latch = new CountDownLatch(minimum);
    // Note that we stub these to allow any number of calls because the thread will continue to
    // run. The count passed in + latch returned just makes sure we get *at least* that number of
    // calls
    EasyMock.expect(sourceTask.poll())
            .andStubAnswer(new IAnswer<List<SourceRecord>>() {
                @Override
                public List<SourceRecord> answer() throws Throwable {
                    count.incrementAndGet();
                    latch.countDown();
                    return RECORDS;
                }
            });
    // Fallout of the poll() call
    expectSendRecordAnyTimes();
    return latch;
}
项目:concurrentli    文件:AutoResetEventTest.java   
@Test
public void test() throws InterruptedException {
  AtomicInteger incrementor = new AtomicInteger();
  ResettableEvent are = new ResettableEvent(true);
  ResettableEvent done = new ResettableEvent(false);

  ExecutorService threadPool = Executors.newFixedThreadPool(3);
  for (int i = 0; i < 10; i++) {
    threadPool.submit(Interrupted.unchecked(() -> {
      are.getAndReset();
      incrementor.incrementAndGet();
      done.set();
    }));
  }

  done.getAndReset();
  Thread.sleep(100); // give a little time to other threads to increment, if there's indeed a bug
  assertEquals(1, incrementor.get());
  threadPool.shutdownNow();
}
项目:monarch    文件:ForceableLinkedBlockingQueue.java   
/**
 * Inserts the specified element at the tail of this queue if it is possible to do so immediately
 * without exceeding the queue's capacity, returning {@code true} upon success and {@code false}
 * if this queue is full. When using a capacity-restricted queue, this method is generally
 * preferable to method {@link BlockingQueue#add add}, which can fail to insert an element only by
 * throwing an exception.
 *
 * @throws NullPointerException if the specified element is null
 */
public boolean offer(E e) {
  if (e == null)
    throw new NullPointerException();
  final AtomicInteger count = this.count;
  if (count.get() >= capacity) // GEMFIRE changed == to >=
    return false;
  int c = -1;
  final ReentrantLock putLock = this.putLock;
  putLock.lock();
  try {
    if (count.get() < capacity) {
      enqueue(e);
      c = count.getAndIncrement();
      if (c + 1 < capacity)
        notFull.signal();
    }
  } finally {
    putLock.unlock();
  }
  if (c == 0)
    signalNotEmpty();
  return c >= 0;
}
项目:android-deferred    文件:MultiplePromisesTest.java   
@Test
public void testFutures() {
    final Callable<Integer> callable1 = successCallable(999, 100);
    final Callable<String> callable2 = successCallable("HI", 1000);

    ExecutorService es = deferredManager.getExecutorService();
    Future<Integer> future1 = es.submit(callable1);
    Future<String> future2 = es.submit(callable2);
    final AtomicInteger doneCount = new AtomicInteger();
    deferredManager.when(future1, future2).done(new DoneCallback<MultipleResults>() {
        @Override
        public void onDone(MultipleResults result) {
            Assert.assertEquals(2, result.size());
            Assert.assertEquals(999, result.get(0).getResult());
            Assert.assertEquals("HI", result.get(1).getResult());
            doneCount.incrementAndGet();
        }
    });

    waitForCompletion();
    Assert.assertEquals(1, doneCount.get());
}
项目:redg    文件:PluggableDefaultValueStrategyTest.java   
@Test
public void testProvider_StaticNumberProvider() {
    PluggableDefaultValueStrategy strategy = new PluggableDefaultValueStrategy();
    strategy.addProvider(new StaticNumberProvider(42L));

    assertEquals(Long.valueOf(42L), strategy.getDefaultValue(TestUtils.getCM("", "", "", Long.class, false), Long.class));
    assertNull(strategy.getDefaultValue(TestUtils.getCM("", "", "", String.class, false), String.class));
    assertEquals(42L, (long) strategy.getDefaultValue(TestUtils.getCM("", "", "", Long.class, true), Long.class));
    assertEquals(42, (int) strategy.getDefaultValue(TestUtils.getCM("", "", "", Integer.class, true), Integer.class));
    assertEquals(42.0, strategy.getDefaultValue(TestUtils.getCM("", "", "", Double.class, true), Double.class), 0.0);
    assertEquals(42.0f, strategy.getDefaultValue(TestUtils.getCM("", "", "", Float.class, true), Float.class), 0f);
    assertEquals(new BigDecimal(42), strategy.getDefaultValue(TestUtils.getCM("", "", "", BigDecimal.class, true), BigDecimal.class));
    assertEquals((byte) 42, (byte) strategy.getDefaultValue(TestUtils.getCM("", "", "", Byte.class, true), Byte.class));
    assertEquals((short) 42, (short) strategy.getDefaultValue(TestUtils.getCM("", "", "", Short.class, true), Short.class));
    assertEquals(42, strategy.getDefaultValue(TestUtils.getCM("", "", "", AtomicInteger.class, true), AtomicInteger.class).get());
    assertEquals(42L, strategy.getDefaultValue(TestUtils.getCM("", "", "", AtomicLong.class, true), AtomicLong.class).get());

    assertNull(new StaticNumberProvider(BigDecimal.ONE).convertNumber(new BigDecimal(0), String.class));
}
项目:CustomListView    文件:SmartExecutor.java   
public static ThreadPoolExecutor createDefaultThreadPool() {
    // 控制最多4个keep在pool中
    int corePoolSize = Math.min(4, CPU_CORE);
    return new ThreadPoolExecutor(
            corePoolSize,
            Integer.MAX_VALUE,
            DEFAULT_CACHE_SENCOND, TimeUnit.SECONDS,
            new SynchronousQueue<Runnable>(),
            new ThreadFactory() {
                static final String NAME = "lite-";
                AtomicInteger IDS = new AtomicInteger(1);

                @Override
                public Thread newThread(Runnable r) {
                    return new Thread(r, NAME + IDS.getAndIncrement());
                }
            },
            new ThreadPoolExecutor.DiscardPolicy());
}
项目:googles-monorepo-demo    文件:ConcurrentHashMultisetTest.java   
public void testSerializationWithMapMaker_preservesIdentityKeyEquivalence() {
  ConcurrentMap<String, AtomicInteger> map =
      new MapMaker().keyEquivalence(Equivalence.identity()).makeMap();

  ConcurrentHashMultiset<String> multiset = ConcurrentHashMultiset.create(map);
  multiset = reserializeAndAssert(multiset);

  String s1 = new String("a");
  String s2 = new String("a");
  assertEquals(s1, s2); // Stating the obvious.
  assertTrue(s1 != s2); // Stating the obvious.

  multiset.add(s1);
  assertTrue(multiset.contains(s1));
  assertFalse(multiset.contains(s2));
  assertEquals(1, multiset.count(s1));
  assertEquals(0, multiset.count(s2));
}
项目:hekate    文件:FailoverAggregateTest.java   
@Test
public void testPartialSuccess() throws Exception {
    repeat(2, i -> {
        int attempts = i + 1;

        failures.set(attempts);

        AtomicInteger failoverCalls = new AtomicInteger();

        AggregateResult<String> result = get(sender.get().withFailover(context -> {
            failoverCalls.incrementAndGet();

            return context.retry();
        }).aggregate("test"));

        assertTrue(result.isSuccess());
        assertEquals(channels.size(), result.results().size());

        assertEquals(attempts, failoverCalls.get());
    });
}
项目:GitHub    文件:CallTest.java   
@Test public void requestBeforeExecuteCreates() throws IOException {
  Retrofit retrofit = new Retrofit.Builder()
      .baseUrl(server.url("/"))
      .addConverterFactory(new ToStringConverterFactory())
      .build();
  Service service = retrofit.create(Service.class);

  server.enqueue(new MockResponse());

  final AtomicInteger writeCount = new AtomicInteger();
  Object a = new Object() {
    @Override public String toString() {
      writeCount.incrementAndGet();
      return "Hello";
    }
  };
  Call<String> call = service.postRequestBody(a);

  call.request();
  assertThat(writeCount.get()).isEqualTo(1);

  call.execute();
  assertThat(writeCount.get()).isEqualTo(1);
}
项目:OpenJSharp    文件:DecimalFormat.java   
/**
 * Formats an Object producing an <code>AttributedCharacterIterator</code>.
 * You can use the returned <code>AttributedCharacterIterator</code>
 * to build the resulting String, as well as to determine information
 * about the resulting String.
 * <p>
 * Each attribute key of the AttributedCharacterIterator will be of type
 * <code>NumberFormat.Field</code>, with the attribute value being the
 * same as the attribute key.
 *
 * @exception NullPointerException if obj is null.
 * @exception IllegalArgumentException when the Format cannot format the
 *            given object.
 * @exception        ArithmeticException if rounding is needed with rounding
 *                   mode being set to RoundingMode.UNNECESSARY
 * @param obj The object to format
 * @return AttributedCharacterIterator describing the formatted value.
 * @since 1.4
 */
@Override
public AttributedCharacterIterator formatToCharacterIterator(Object obj) {
    CharacterIteratorFieldDelegate delegate =
                     new CharacterIteratorFieldDelegate();
    StringBuffer sb = new StringBuffer();

    if (obj instanceof Double || obj instanceof Float) {
        format(((Number)obj).doubleValue(), sb, delegate);
    } else if (obj instanceof Long || obj instanceof Integer ||
               obj instanceof Short || obj instanceof Byte ||
               obj instanceof AtomicInteger || obj instanceof AtomicLong) {
        format(((Number)obj).longValue(), sb, delegate);
    } else if (obj instanceof BigDecimal) {
        format((BigDecimal)obj, sb, delegate);
    } else if (obj instanceof BigInteger) {
        format((BigInteger)obj, sb, delegate, false);
    } else if (obj == null) {
        throw new NullPointerException(
            "formatToCharacterIterator must be passed non-null object");
    } else {
        throw new IllegalArgumentException(
            "Cannot format given Object as a Number");
    }
    return delegate.getIterator(sb.toString());
}
项目:dubbox-hystrix    文件:HeaderExchangeHandlerTest.java   
@Test
public void test_received_request_twoway_error_reqeustBroken() throws RemotingException{
    final Request request = new Request();
    request.setTwoWay(true);
    request.setData(new BizException());
    request.setBroken(true);

    final AtomicInteger count = new AtomicInteger(0);
    final Channel mchannel = new MockedChannel(){
        @Override
        public void send(Object message) throws RemotingException {
            Response res = (Response)message;
            Assert.assertEquals(request.getId(), res.getId());
            Assert.assertEquals(request.getVersion(), res.getVersion());
            Assert.assertEquals(Response.BAD_REQUEST, res.getStatus());
            Assert.assertNull(res.getResult());
            Assert.assertTrue(res.getErrorMessage().contains(BizException.class.getName()));
            count.incrementAndGet();
        }
    };
    HeaderExchangeHandler hexhandler = new HeaderExchangeHandler(new MockedExchangeHandler());
    hexhandler.received(mchannel, request);
    Assert.assertEquals(1, count.get());
}
项目:guava-mock    文件:SupplementalMonitorTest.java   
private static void verifyOccupiedMethodsInAnotherThread(final Monitor monitor,
    boolean expectedIsOccupied, boolean expectedIsOccupiedByCurrentThread,
    int expectedOccupiedDepth) {
  final AtomicBoolean actualIsOccupied = new AtomicBoolean();
  final AtomicBoolean actualIsOccupiedByCurrentThread = new AtomicBoolean();
  final AtomicInteger actualOccupiedDepth = new AtomicInteger();
  final AtomicReference<Throwable> thrown = new AtomicReference<Throwable>();
  joinUninterruptibly(startThread(new Runnable() {
    @Override public void run() {
      try {
        actualIsOccupied.set(monitor.isOccupied());
        actualIsOccupiedByCurrentThread.set(monitor.isOccupiedByCurrentThread());
        actualOccupiedDepth.set(monitor.getOccupiedDepth());
      } catch (Throwable t) {
        thrown.set(t);
      }
    }
  }));
  assertNull(thrown.get());
  assertEquals(expectedIsOccupied, actualIsOccupied.get());
  assertEquals(expectedIsOccupiedByCurrentThread, actualIsOccupiedByCurrentThread.get());
  assertEquals(expectedOccupiedDepth, actualOccupiedDepth.get());
}
项目:https-github.com-apache-zookeeper    文件:LeaderElectionSupportTest.java   
@Test
public void testNodes3() throws IOException, InterruptedException,
    KeeperException {

  int testIterations = 3;
  final CountDownLatch latch = new CountDownLatch(testIterations);
  final AtomicInteger failureCounter = new AtomicInteger();

  for (int i = 0; i < testIterations; i++) {
    runElectionSupportThread(latch, failureCounter);
  }

  Assert.assertEquals(0, failureCounter.get());

  if (!latch.await(10, TimeUnit.SECONDS)) {
    logger
        .info(
            "Waited for all threads to start, but timed out. We had {} failures.",
            failureCounter);
  }
}
项目:sqs-utils    文件:MessageWorkerTest.java   
@Test
public void testWorkDelegatesMethodCall() throws Exception {
    // given
    AtomicInteger counter = new AtomicInteger(0);
    MessageWorker<String, Integer> uut = new MessageWorker<String, Integer>() {
        @Override
        public Integer work(String object) {
            return counter.incrementAndGet();
        }
    };
    MessageHeaders messageHeaders = mock(MessageHeaders.class);

    // when
    uut.work("dummy value", messageHeaders);

    // then
    assertEquals(1, counter.intValue());
    verifyZeroInteractions(messageHeaders);
}
项目:openjdk-jdk10    文件:DelayOverflow.java   
void test(String[] args) throws Throwable {
    for (int how=0; how<4; how++) {
        final CountDownLatch done = new CountDownLatch(1);
        final AtomicInteger count = new AtomicInteger(0);
        final Timer timer = new Timer();
        final TimerTask task = new TimerTask() {
            @Override
            public void run() {
                checkScheduledExecutionTime(this);
                count.incrementAndGet();
                done.countDown();
            }};

        scheduleNow(timer, task, how);
        done.await();
        equal(count.get(), 1);
        checkScheduledExecutionTime(task);
        if (new java.util.Random().nextBoolean())
            sleep(10);
        check(task.cancel());
        timer.cancel();
        checkScheduledExecutionTime(task);
    }
}
项目:RxJava3-preview    文件:MaybeFromCallableTest.java   
@Test
public void fromCallable() {
    final AtomicInteger atomicInteger = new AtomicInteger();

    Maybe.fromCallable(new Callable<Object>() {
        @Override
        public Object call() throws Exception {
            atomicInteger.incrementAndGet();
            return null;
        }
    })
        .test()
        .assertResult();

    assertEquals(1, atomicInteger.get());
}
项目:ditb    文件:HBaseFsck.java   
/**
 * TODO -- need to add tests for this.
 */
private void reportTablesInFlux() {
  AtomicInteger numSkipped = new AtomicInteger(0);
  HTableDescriptor[] allTables = getTables(numSkipped);
  errors.print("Number of Tables: " + allTables.length);
  if (details) {
    if (numSkipped.get() > 0) {
      errors.detail("Number of Tables in flux: " + numSkipped.get());
    }
    for (HTableDescriptor td : allTables) {
      errors.detail("  Table: " + td.getTableName() + "\t" +
                         (td.isReadOnly() ? "ro" : "rw") + "\t" +
                          (td.isMetaRegion() ? "META" : "    ") + "\t" +
                         " families: " + td.getFamilies().size());
    }
  }
}
项目:GitHub    文件:CallTest.java   
@Test public void requestAfterExecuteReturnsCachedValue() throws IOException {
  Retrofit retrofit = new Retrofit.Builder()
      .baseUrl(server.url("/"))
      .addConverterFactory(new ToStringConverterFactory())
      .build();
  Service service = retrofit.create(Service.class);

  server.enqueue(new MockResponse());

  final AtomicInteger writeCount = new AtomicInteger();
  Object a = new Object() {
    @Override public String toString() {
      writeCount.incrementAndGet();
      return "Hello";
    }
  };
  Call<String> call = service.postRequestBody(a);

  call.execute();
  assertThat(writeCount.get()).isEqualTo(1);

  call.request();
  assertThat(writeCount.get()).isEqualTo(1);
}
项目:sstore-soft    文件:StreamServer.java   
public StreamServer(Socket aClientSocket, RateLimiter rateLimiter, long startTime, int duration,
    BufferedReader dataSource, AtomicInteger consumedTuples, int maxTupels) {

  try {
    _duration = duration;
    _sourceBuffer = dataSource;
    _rateLimiter = rateLimiter;
    _clientSocket = aClientSocket;
    _startTime = startTime;
    _cosumedTuples = consumedTuples;
    _maxTuples = maxTupels;
    _output = new BufferedOutputStream(_clientSocket.getOutputStream());
    this.start();
  } catch (IOException e) {
    System.out.println(e.getMessage());
  }
}
项目:fluid    文件:KafkaSourceTest.java   
@Test
public void testSource() throws InterruptedException {
  KafkaUsage usage = new KafkaUsage();
  String topic = UUID.randomUUID().toString();
  List<Integer> results = new ArrayList<>();
  KafkaSource<Integer> source = new KafkaSource<>(vertx,
    getKafkaConfig()
      .put("topic", topic)
      .put("value.serializer", IntegerSerializer.class.getName())
      .put("value.deserializer", IntegerDeserializer.class.getName())
  );
  source
    .transformPayload(i -> i + 1)
    .to(Sink.forEachPayload(results::add));

  AtomicInteger counter = new AtomicInteger();
  usage.produceIntegers(10, null,
    () -> new ProducerRecord<>(topic, counter.getAndIncrement()));

  await().atMost(1, TimeUnit.MINUTES).until(() -> results.size() >= 10);
  assertThat(results).containsExactly(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
}
项目:incubator-netbeans    文件:Stamps.java   
private static boolean highestStampForDir(File file, AtomicReference<File> newestFile, AtomicLong result, AtomicInteger crc) {
    if (file.getName().equals(".nbattrs")) { // NOI18N
        return true;
    }

    File[] children = file.listFiles();
    if (children == null) {
        if (crc != null) {
            crc.addAndGet(file.getName().length());
        }
        long time = file.lastModified();
        if (time > result.longValue()) {
            newestFile.set(file);
            result.set(time);
        }
        return false;
    }

    for (File f : children) {
        highestStampForDir(f, newestFile, result, crc);
    }
    return true;
}
项目:Elasticsearch    文件:SearchDfsQueryThenFetchAsyncAction.java   
void executeFetch(final int shardIndex, final SearchShardTarget shardTarget, final AtomicInteger counter,
                  final ShardFetchSearchRequest fetchSearchRequest, DiscoveryNode node) {
    searchService.sendExecuteFetch(node, fetchSearchRequest, new ActionListener<FetchSearchResult>() {
        @Override
        public void onResponse(FetchSearchResult result) {
            result.shardTarget(shardTarget);
            fetchResults.set(shardIndex, result);
            if (counter.decrementAndGet() == 0) {
                finishHim();
            }
        }

        @Override
        public void onFailure(Throwable t) {
            // the search context might not be cleared on the node where the fetch was executed for example
            // because the action was rejected by the thread pool. in this case we need to send a dedicated
            // request to clear the search context. by setting docIdsToLoad to null, the context will be cleared
            // in TransportSearchTypeAction.releaseIrrelevantSearchContexts() after the search request is done.
            docIdsToLoad.set(shardIndex, null);
            onFetchFailure(t, fetchSearchRequest, shardIndex, shardTarget, counter);
        }
    });
}
项目:fastmq    文件:LogStorageImplTest.java   
@Test
public void asyncRemoveLedger() throws Exception {
    CountDownLatch latch = new CountDownLatch(1);
    AtomicInteger counter = new AtomicInteger();
    logInfoStorage.asyncRemoveLogInfo("HelloWorldTest1", new CommonCallback<Void, LedgerStorageException>() {
        @Override public void onCompleted(Void data, Version version) {
            counter.incrementAndGet();
            latch.countDown();
        }

        @Override public void onThrowable(LedgerStorageException throwable) {
            throwable.printStackTrace();
            latch.countDown();
        }
    });
    latch.await();
    Assert.assertEquals(1, counter.get());
}
项目:openjdk-jdk10    文件:CompletableFutureTest.java   
/**
 * If a whenComplete action throws an exception when triggered by
 * a normal completion, it completes exceptionally
 */
public void testWhenComplete_sourceCompletedNormallyActionFailed() {
    for (boolean createIncomplete : new boolean[] { true, false })
    for (ExecutionMode m : ExecutionMode.values())
    for (Integer v1 : new Integer[] { 1, null })
{
    final AtomicInteger a = new AtomicInteger(0);
    final CFException ex = new CFException();
    final CompletableFuture<Integer> f = new CompletableFuture<>();
    if (!createIncomplete) assertTrue(f.complete(v1));
    final CompletableFuture<Integer> g = m.whenComplete
        (f,
         (Integer result, Throwable t) -> {
            m.checkExecutionMode();
            threadAssertSame(result, v1);
            threadAssertNull(t);
            a.getAndIncrement();
            throw ex;
        });
    if (createIncomplete) assertTrue(f.complete(v1));

    checkCompletedWithWrappedException(g, ex);
    checkCompletedNormally(f, v1);
    assertEquals(1, a.get());
}}
项目:openjdk-jdk10    文件:DecimalFormat.java   
/**
 * Formats a number and appends the resulting text to the given string
 * buffer.
 * The number can be of any subclass of {@link java.lang.Number}.
 * <p>
 * This implementation uses the maximum precision permitted.
 * @param number     the number to format
 * @param toAppendTo the <code>StringBuffer</code> to which the formatted
 *                   text is to be appended
 * @param pos        On input: an alignment field, if desired.
 *                   On output: the offsets of the alignment field.
 * @return           the value passed in as <code>toAppendTo</code>
 * @exception        IllegalArgumentException if <code>number</code> is
 *                   null or not an instance of <code>Number</code>.
 * @exception        NullPointerException if <code>toAppendTo</code> or
 *                   <code>pos</code> is null
 * @exception        ArithmeticException if rounding is needed with rounding
 *                   mode being set to RoundingMode.UNNECESSARY
 * @see              java.text.FieldPosition
 */
@Override
public final StringBuffer format(Object number,
                                 StringBuffer toAppendTo,
                                 FieldPosition pos) {
    if (number instanceof Long || number instanceof Integer ||
               number instanceof Short || number instanceof Byte ||
               number instanceof AtomicInteger ||
               number instanceof AtomicLong ||
               (number instanceof BigInteger &&
                ((BigInteger)number).bitLength () < 64)) {
        return format(((Number)number).longValue(), toAppendTo, pos);
    } else if (number instanceof BigDecimal) {
        return format((BigDecimal)number, toAppendTo, pos);
    } else if (number instanceof BigInteger) {
        return format((BigInteger)number, toAppendTo, pos);
    } else if (number instanceof Number) {
        return format(((Number)number).doubleValue(), toAppendTo, pos);
    } else {
        throw new IllegalArgumentException("Cannot format given Object as a Number");
    }
}
项目:talchain    文件:BlockchainValidation.java   
public static void checkHeaders(Ethereum ethereum, AtomicInteger fatalErrors) {
    int blockNumber = (int) ethereum.getBlockchain().getBestBlock().getHeader().getNumber();
    byte[] lastParentHash = null;
    testLogger.info("Checking headers from best block: {}", blockNumber);

    try {
        while (blockNumber >= 0) {
            Block currentBlock = ethereum.getBlockchain().getBlockByNumber(blockNumber);
            if (lastParentHash != null) {
                assert FastByteComparisons.equal(currentBlock.getHash(), lastParentHash);
            }
            lastParentHash = currentBlock.getHeader().getParentHash();
            assert lastParentHash != null;
            blockNumber--;
        }

        testLogger.info("Checking headers successful, ended on block: {}", blockNumber + 1);
    } catch (Exception | AssertionError ex) {
        testLogger.error(String.format("Block header validation error on block #%s", blockNumber), ex);
        fatalErrors.incrementAndGet();
    }
}
项目:greycat    文件:TrampolineCallback.java   
private static void insert(final Node position, final AtomicInteger counter, final DeferCounter defer, final int max) {
    final int time = counter.incrementAndGet();
    position.travelInTime(time, new Callback<Node>() {
        public void on(Node timedNode) {
            timedNode.set("lat", Type.DOUBLE, time + 10.5);
            timedNode.set("long", Type.DOUBLE, time + 10.5);
            defer.count();
            if (time != max) {
                position.graph().scheduler().dispatch(SchedulerAffinity.SAME_THREAD, new Job() {
                    public void run() {
                        insert(position, counter, defer, max);
                    }
                });
            }
        }
    });
}
项目:sstore-soft    文件:SamplingFilter.java   
@Override
protected FilterResult filter(AbstractTraceElement<? extends CatalogType> element) {
    FilterResult result = FilterResult.ALLOW;
    if (element instanceof TransactionTrace) {
        final boolean trace = LOG.isTraceEnabled();
        final String proc_name = element.getCatalogItemName();
        final AtomicInteger proc_counter = this.proc_counters.get(proc_name);

        if (proc_counter == null) {
            if (trace) LOG.trace("Procedure " + proc_name + " is not included in whitelist. Skipping...");
            result = FilterResult.SKIP;
        } else {
            int proc_idx = proc_counter.getAndIncrement();
            int proc_rate = this.proc_rates.get(proc_name);
            result = (proc_rate != 0 && proc_idx % proc_rate == 0 ? FilterResult.ALLOW : FilterResult.SKIP);
        }
    }
    return (result);
}
项目:util4j    文件:TestQueues.java   
public void testOrder(final TaskQueueExecutor o)
         {
             final AtomicInteger atomicInteger=new AtomicInteger(0);
             for(int i=0;i<1000;i++)
             {
                 final int x=i;
                 o.execute(new Task() {
                        @Override
                        public void run() {
                            int sleep=RandomUtils.nextInt(100);
                            if(x%2==0)
                            {
                                System.err.println("i="+x+",value="+atomicInteger.incrementAndGet()+",sleep="+sleep);
                            }else
                            {
                                System.err.println("i="+x+",value="+atomicInteger.decrementAndGet()+",sleep="+sleep);
                            }
//                          try {
//                              Thread.sleep(sleep);
//                          } catch (InterruptedException e) {
//                              e.printStackTrace();
//                          }
                        }
                        @Override
                        public String name() {
                            return "";
                        }
                    });
             }
         }
项目:s-store    文件:ConcurrentHashMultiset.java   
/**
 * Removes a number of occurrences of the specified element from this multiset. If the multiset
 * contains fewer than this number of occurrences to begin with, all occurrences will be removed.
 *
 * @param element the element whose occurrences should be removed
 * @param occurrences the number of occurrences of the element to remove
 * @return the count of the element before the operation; possibly zero
 * @throws IllegalArgumentException if {@code occurrences} is negative
 */
/*
 * TODO(cpovirk): remove and removeExactly currently accept null inputs only
 * if occurrences == 0. This satisfies both NullPointerTester and
 * CollectionRemoveTester.testRemove_nullAllowed, but it's not clear that it's
 * a good policy, especially because, in order for the test to pass, the
 * parameter must be misleadingly annotated as @Nullable. I suspect that
 * we'll want to remove @Nullable, add an eager checkNotNull, and loosen up
 * testRemove_nullAllowed.
 */
@Override public int remove(@Nullable Object element, int occurrences) {
  if (occurrences == 0) {
    return count(element);
  }
  checkArgument(occurrences > 0, "Invalid occurrences: %s", occurrences);

  AtomicInteger existingCounter = Maps.safeGet(countMap, element);
  if (existingCounter == null) {
    return 0;
  }
  while (true) {
    int oldValue = existingCounter.get();
    if (oldValue != 0) {
      int newValue = Math.max(0, oldValue - occurrences);
      if (existingCounter.compareAndSet(oldValue, newValue)) {
        if (newValue == 0) {
          // Just CASed to 0; remove the entry to clean up the map. If the removal fails,
          // another thread has already replaced it with a new counter, which is fine.
          countMap.remove(element, existingCounter);
        }
        return oldValue;
      }
    } else {
      return 0;
    }
  }
}
项目:flume-release-1.7.0    文件:EventQueueBackingStoreFile.java   
@Override
protected void decrementFileID(int fileID) {
  AtomicInteger counter = logFileIDReferenceCounts.get(fileID);
  Preconditions.checkState(counter != null, "null counter ");
  int count = counter.decrementAndGet();
  if (count == 0) {
    logFileIDReferenceCounts.remove(fileID);
  }
}
项目:jetcache    文件:LoadingCacheTest.java   
public static void loadingCacheTest(AbstractCacheBuilder builder, long waitMillis) throws Exception {
    AtomicInteger count = new AtomicInteger(0);
    builder.loader((key) -> key + "_V" + count.getAndIncrement());
    Cache cache = builder.buildCache();
    loadingCacheTestImpl(cache, waitMillis);
    nullValueTest(cache, waitMillis);
}
项目:Elasticsearch    文件:IndicesStore.java   
public ShardActiveResponseHandler(ShardId shardId, ClusterState clusterState, int expectedActiveCopies) {
    this.shardId = shardId;
    this.expectedActiveCopies = expectedActiveCopies;
    this.clusterState = clusterState;
    this.awaitingResponses = new AtomicInteger(expectedActiveCopies);
    this.activeCopies = new AtomicInteger();
}
项目:short-text-search    文件:ConcurrentLRUCache.java   
public String getKeyAndHitCount(){
    StringBuilder status = new StringBuilder();
    AtomicInteger i = new AtomicInteger();

    cache.entrySet().stream().sorted((a,b)->b.getValue().getCount()-a.getValue().getCount()).forEach(entry->status.append(i.incrementAndGet()).append("\t").append(entry.getKey()).append("\t").append(entry.getValue().getCount()).append("\n"));

    return status.toString();
}
项目:EpiStats    文件:FilterOperation.java   
@Override
public void accept(RankingList list, ObservableTask task) throws OperationException {
    task.setTitle("Filtrage des catégories ..");
    task.setProgress(0);

    AtomicInteger p = new AtomicInteger();

    this.expression.removeAllArguments();
    this.expression.addArguments(list.getArguments(this.expression.getExpressionString(), p));

    if (!this.expression.checkSyntax())
        throw new OperationException(this.expression.getErrorMessage());

    List<Ranking> l = list.list(this.category);
    if (l.isEmpty())
        return;

    int total = list.collection.size;
    for (int i = 0; i < total; i++) {
        if (task.isCancelled())
            return;

        task.setMessage("Joueur: " + list.collection.names.get(i));
        p.set(i);

        if (this.expression.calculate() == 0d) {
            for (Ranking r : l)
                r.remove(i);
        }
        task.setProgress(i / (double) total);
    }
}
项目:kafka-connect-fs    文件:AbstractPolicy.java   
public AbstractPolicy(FsSourceTaskConfig conf) throws IOException {
    this.fileSystems = new ArrayList<>();
    this.conf = conf;
    this.executions = new AtomicInteger(0);
    this.recursive = conf.getBoolean(FsSourceTaskConfig.POLICY_RECURSIVE);
    this.fileRegexp = Pattern.compile(conf.getString(FsSourceTaskConfig.POLICY_REGEXP));
    this.interrupted = false;

    Map<String, Object> customConfigs = customConfigs();
    logAll(customConfigs);
    configFs(customConfigs);
    configPolicy(customConfigs);
}