/** decrementAndGet decrements and returns current value */ public void testDecrementAndGet() { AtomicLong ai = new AtomicLong(1); assertEquals(0, ai.decrementAndGet()); assertEquals(-1, ai.decrementAndGet()); assertEquals(-2, ai.decrementAndGet()); assertEquals(-2, ai.get()); }
@Override public String getLID(DSLAMSource source) throws IOException, TimeoutADManClientException, ADManClientException { // Update counters: String res = null; { invokeSyncBeginCount.incrementAndGet(); long runningCount = invokeSyncRunningCount.incrementAndGet(); long runningCountMax = invokeSyncRunningCountMax.get(); if (runningCount > runningCountMax) { invokeSyncRunningCountMax.compareAndSet(runningCountMax, runningCount); } synchronized (invokeBeginFrequencyCounter) { invokeBeginFrequencyCounter.increment(); } } try { res = super.getLID(source); } catch (Throwable ex) { invokeSyncEndFailureCount.incrementAndGet(); } finally { // Update counters: { invokeSyncEndCount.incrementAndGet(); invokeSyncRunningCount.decrementAndGet(); synchronized (invokeEndFrequencyCounter) { invokeEndFrequencyCounter.increment(); } } } return res; }