java.util.concurrent.ConcurrentSkipListSet.size()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(6.7k)|赞(0)|评价(0)|浏览(137)

本文整理了Java中java.util.concurrent.ConcurrentSkipListSet.size()方法的一些代码示例,展示了ConcurrentSkipListSet.size()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ConcurrentSkipListSet.size()方法的具体详情如下:
包路径:java.util.concurrent.ConcurrentSkipListSet
类名称:ConcurrentSkipListSet
方法名:size

ConcurrentSkipListSet.size介绍

[英]Returns the number of elements in this set. If this set contains more than Integer.MAX_VALUE elements, it returns Integer.MAX_VALUE.

Beware that, unlike in most collections, this method is NOT a constant-time operation. Because of the asynchronous nature of these sets, determining the current number of elements requires traversing them all to count them. Additionally, it is possible for the size to change during execution of this method, in which case the returned result will be inaccurate. Thus, this method is typically not very useful in concurrent applications.
[中]返回此集合中的元素数。如果此集合包含多个整数。最大值元素,它返回整数。最大值。
请注意,与大多数集合不同,此方法不是恒定时间操作。由于这些集合的异步性质,确定当前元素的数量需要遍历它们以对它们进行计数。此外,在执行此方法的过程中,可能会更改大小,在这种情况下,返回的结果将不准确。因此,这种方法在并发应用程序中通常不是很有用。

代码示例

代码示例来源:origin: apache/incubator-druid

@Override
 public int getNumberOfSegmentsInQueue()
 {
  return segmentsToLoad.size();
 }
}

代码示例来源:origin: zhegexiaohuozi/SeimiCrawler

@Override
public long totalCrawled(String crawlerName) {
  ConcurrentSkipListSet<String> set = getProcessedSet(crawlerName);
  return set.size();
}

代码示例来源:origin: ehcache/ehcache3

/**
 * Try to reconcile, if the lock is available otherwise just return as other thread would have hold the lock and performing reconcile.
 */
private void tryReconcile() {
 if (!this.reconciliationLock.tryLock()) {
  return;
 }
 try {
  reconcile();
  // Keep on warning after every reconcile if nonContiguousMsgIds reaches 500 (kept it a bit higher so that we won't get unnecessary warning due to high concurrency).
  if (nonContiguousMsgIds.size() > 500) {
   LOGGER.warn("Non - Contiguous Message ID has size : {}, with highestContiguousMsgId as : {}", nonContiguousMsgIds.size(), highestContiguousMsgId);
  }
 } finally {
  this.reconciliationLock.unlock();
 }
}

代码示例来源:origin: apache/pulsar

public void addAcknowledgment(MessageIdImpl msgId, AckType ackType, Map<String, Long> properties) {
  if (acknowledgementGroupTimeMicros == 0 || !properties.isEmpty()) {
    // We cannot group acks if the delay is 0 or when there are properties attached to it. Fortunately that's an
    // uncommon condition since it's only used for the compaction subscription.
    doImmediateAck(msgId, ackType, properties);
  } else if (ackType == AckType.Cumulative) {
    doCumulativeAck(msgId);
  } else {
    // Individual ack
    pendingIndividualAcks.add(msgId);
    if (pendingIndividualAcks.size() >= MAX_ACK_GROUP_SIZE) {
      flush();
    }
  }
}

代码示例来源:origin: apache/ignite

@Override public void run() {
    try {
      assertEquals(TOP_CHANGE_THREAD_CNT * 3, startedNodes.size());
      for (String name : startedNodes) {
        stopGrid(name, false);
        awaitPartitionMapExchange();
      }
      startedNodes.clear();
      sem.release(TOP_CHANGE_THREAD_CNT);
      barrier.reset();
    }
    catch (Exception e) {
      if (failed.compareAndSet(false, true)) {
        sem.release(TOP_CHANGE_THREAD_CNT);
        barrier.reset();
        throw F.wrap(e);
      }
    }
  }
});

代码示例来源:origin: apache/hbase

final int oldWakeCount = wakeCount.get();
if (useWakeBatch) {
 ProcedureEvent[] ev = new ProcedureEvent[waitQueue.size()];
 for (int i = 0; i < ev.length; ++i) {
  ev[i] = waitQueue.pollFirst().getEvent();
 wakeCount.addAndGet(ev.length);
} else {
 int size = waitQueue.size();
 while (size-- > 0) {
  ProcedureEvent ev = waitQueue.pollFirst().getEvent();

代码示例来源:origin: apache/pulsar

if (Commands.peerSupportsMultiMessageAcknowledgment(cnx.getRemoteEndpointProtocolVersion())) {
  List<Pair<Long, Long>> entriesToAck = new ArrayList<>(pendingIndividualAcks.size());
  while (true) {
    MessageIdImpl msgId = pendingIndividualAcks.pollFirst();

代码示例来源:origin: camunda/camunda-bpm-platform

Assert.assertEquals(THREAD_COUNT * LOOP_COUNT, generatedIds.size());
Assert.assertTrue(duplicatedIds.isEmpty());

代码示例来源:origin: de.dentrassi.eclipse.neoscada.utils/org.eclipse.scada.utils

@Override
public int size ()
{
  return this.internalSet.size ();
}

代码示例来源:origin: com.sequoiadb/sequoiadb-driver

/**
 * Get the current abnormal address amount.
 */
public int getAbnormalAddrNum() {
  return _abnormalAddrs.size();
}

代码示例来源:origin: Audiveris/audiveris

/**
   * Return the number of children currently in this package node
   *
   * @return the count of children
   */
  public int getChildCount ()
  {
    return children.size();
  }
}

代码示例来源:origin: maisi/M365-Power

public static double getAveragedPower() {
  double currentSum = 0.0;
  for (double d : currentList) {
    currentSum += d;
  }
  double averageCurrent = (currentSum / currentList.size());
  if (Double.isNaN(averageCurrent)) {
    averageCurrent = 0.0;
  }
  return averageCurrent * currentVoltage;
}

代码示例来源:origin: maisi/M365-Power

public static int getAverageEfficiency() {
  if(efficiencyList.size()==0){
    return 600; //just started app, no values yet
  }
  double sum =efficiencyList.stream().mapToDouble(Double::doubleValue).sum();
  double avgEff = (sum / efficiencyList.size());
  return (int)avgEff;
}

代码示例来源:origin: de.dentrassi.eclipse.neoscada.utils/org.eclipse.scada.utils

private void shrinkToSize ()
{
  final int toRemove = this.internalSet.size () - this.capacity;
  if ( toRemove <= 0 )
  {
    return;
  }
  for ( int i = 0; i < toRemove; i++ )
  {
    this.internalSet.pollLast ();
  }
}

代码示例来源:origin: com.orientechnologies/orientdb-core

public void delete() throws IOException {
 final List<Long> segmentsToDelete = new ArrayList<>(this.segments.size());
 segmentsToDelete.addAll(segments);
 close(false);
 Files.deleteIfExists(masterRecordPath);
 for (final long segment : segmentsToDelete) {
  final String segmentName = getSegmentName(segment);
  final Path segmentPath = walLocation.resolve(segmentName);
  Files.deleteIfExists(segmentPath);
 }
}

代码示例来源:origin: UniversaBlockchain/universa

private void checkForComplete() {
  // if some nodes (rate defined in config) also sended callback and received packed item (without answer)
  // callback is deemed complete
  if (nodesSendCallback.size() >= (int) Math.floor(network.allNodes().size() * config.getRateNodesSendFollowerCallbackToComplete()))
    complete();
}

代码示例来源:origin: tomahawk-player/tomahawk-android

public String toShortString() {
  String desc;
  if (mIsFullTextQuery) {
    desc = "fullTextQuery: '" + mFullTextQuery + "'";
  } else {
    desc = "basic: " + mBasicTrack.toShortString()
        + " - preferred: " + getPreferredTrack().toShortString();
  }
  return desc + ", resultCount: " + mTrackResults.size();
}

代码示例来源:origin: org.apache.cassandra/cassandra-all

public KeyRangeIterator(ConcurrentSkipListSet<DecoratedKey> keys)
{
  super((Long) keys.first().getToken().getTokenValue(), (Long) keys.last().getToken().getTokenValue(), keys.size());
  this.iterator = new DKIterator(keys.iterator());
}

代码示例来源:origin: com.strapdata.cassandra/cassandra-all

public KeyRangeIterator(ConcurrentSkipListSet<DecoratedKey> keys)
{
  super((Long) keys.first().getToken().getTokenValue(), (Long) keys.last().getToken().getTokenValue(), keys.size());
  this.iterator = new DKIterator(keys.iterator());
}

代码示例来源:origin: jsevellec/cassandra-unit

public KeyRangeIterator(ConcurrentSkipListSet<DecoratedKey> keys)
{
  super((Long) keys.first().getToken().getTokenValue(), (Long) keys.last().getToken().getTokenValue(), keys.size());
  this.iterator = new DKIterator(keys.iterator());
}

相关文章

微信公众号

最新文章

更多