/** * Returns an int[] from the {@link AtomicIntegerArray}, null if the given atomic array is null. * * @param atomicIntegerArray the {@link AtomicIntegerArray} to convert to int[]. * @return an int[]. */ public static int[] array(AtomicIntegerArray atomicIntegerArray) { if (atomicIntegerArray == null) return null; int[] array = new int[atomicIntegerArray.length()]; for (int i = 0; i < array.length; i++) { array[i] = atomicIntegerArray.get(i); } return array; }
private void initializeArray(AtomicIntegerArray arr) { for (int i = 0; i < arr.length(); i++) { arr.set(i, Integer.valueOf(0)); } }
@Override public void fillSortedRecords(int[] arr) { int idx = 0; for (int i = 0; i < timingArr.length(); ++i) { int count = timingArr.get(i); if (count > 0) { arr[idx++] = i; arr[idx++] = count; } } }
@Override public int getEffectiveCount() { int result = 0; for (int i = 0; i < timingArr.length(); ++i) { int count = timingArr.get(i); if (count > 0) { result++; } } return result; }
@Override public synchronized void resetRecord() { for (int i = 0; i < timingArr.length(); ++i) { timingArr.set(i, 0); } hasRecord = false; }
/** * Returns an int[] from the {@link AtomicIntegerArray}, null if the given atomic array is null. * * @param atomicIntegerArray the {@link AtomicIntegerArray} to convert to int[]. * @return an int[]. */ public static int[] array(AtomicIntegerArray atomicIntegerArray) { if (atomicIntegerArray == null) return null; int[] array = new int[atomicIntegerArray.length()]; for (int i = 0; i < array.length; i++) { array[i] = atomicIntegerArray.get(i); } return array; }
@Override public synchronized void resetRecord() { for (int i = 0; i < timingArr.length(); ++i) { timingArr.set(i, 0); } Iterator<Map.Entry<Integer, AtomicInteger>> iterator = timingMap.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<Integer, AtomicInteger> entry = iterator.next(); if ((entry.getKey() > 1.5 * timingArr.length()) || entry.getValue().get() <= 0) { iterator.remove(); } else { entry.getValue().set(0); } } hasRecord = false; }
@Override public void recordTime(long startNanoTime, long endNanoTime) { if (startNanoTime > endNanoTime) { return; } hasRecord = true; int elapsedTime = (int) ((endNanoTime - startNanoTime) / 1000000); if (elapsedTime < timingArr.length() - 1) { timingArr.incrementAndGet(elapsedTime); } else { timingArr.incrementAndGet(timingArr.length() - 1); } }
@Override public int getEffectiveCount() { int result = 0; for (int i = 0; i < timingArr.length(); ++i) { int count = timingArr.get(i); if (count > 0) { result++; } } for (Map.Entry<Integer, AtomicInteger> entry : timingMap.entrySet()) { if (entry.getValue().get() > 0) { result++; } } return result; }
@Override public void recordTime(long startNanoTime, long endNanoTime) { if (startNanoTime > endNanoTime) { return; } hasRecord = true; int elapsedTime = (int) ((endNanoTime - startNanoTime) / 1000000); if (elapsedTime < timingArr.length()) { timingArr.incrementAndGet(elapsedTime); return; } AtomicInteger count = timingMap.get(elapsedTime); if (count != null) { count.incrementAndGet(); return; } AtomicInteger oldCounter = timingMap.putIfAbsent(elapsedTime, new AtomicInteger(1)); if (oldCounter != null) { oldCounter.incrementAndGet(); } }
@Override public long processed() { Vec[] vecs = ((VecsInput) _ls[0]).vecs; long n = 0; for( int i = 0; i < _counts.length(); i++ ) n += _counts.get(i) * vecs[0].chunkLen(i); return n; }
/** * @param ver Version. * @return Index. */ private int dhtAtomicUpdateIndex(GridCacheVersion ver) { return U.safeAbs(ver.hashCode()) % dhtAtomicUpdCnt.length(); }
private ThreadStorage getThreadStorage() { ThreadStorage result = this.threadStore.get(); if (result == null) { int intSize = 0; int longSize = 0; if (this.intStorage != null) { intSize = this.intStorage.length(); } if (this.longStorage != null) { longSize = this.longStorage.length(); } result = new ThreadStorage(intSize, longSize); this.threadStore.set(result); this.threadStoreQ.add(result); } return result; }
public int getNumberOfClientsAtOrAboveVersion(Version version) { int number = 0; for (int i = version.ordinal(); i < numOfClientsPerVersion.length(); i++) { number += numOfClientsPerVersion.get(i); } return number; }
@Override public void fillSortedRecords(int[] arr) { int idx = 0; for (int i = 0; i < timingArr.length(); ++i) { int count = timingArr.get(i); if (count > 0) { arr[idx++] = i; arr[idx++] = count; } } fillMapRecord(arr, idx); }
int len = array.length(); out.write('['); for (int i = 0; i < len; ++i) {
g = rnd.nextInt(locks.length());
@SuppressWarnings({"BusyWait"}) @Override public Object call() throws Exception { GridRandom rnd = new GridRandom(); while (!restartsDone.get()) { int g; do { g = rnd.nextInt(locks.length()); } while (!locks.compareAndSet(g, 0, -1)); log.info("Stop node: " + g); stopGrid(g); Thread.sleep(rnd.nextInt(nodeLifeTime)); log.info("Start node: " + g); startGrid(g); Thread.sleep(rnd.nextInt(nodeLifeTime)); locks.set(g, 0); int c = restartCnt.incrementAndGet(); if (c % logFreq == 0) info("Node restarts: " + c); } return true; } }, restartThreadsNum, "restart-thread");
int len = array.length(); out.write('['); for (int i = 0; i < len; ++i) {