21 package org.matsim.core.utils.misc;
23 import java.util.concurrent.atomic.AtomicLong;
25 import org.apache.logging.log4j.LogManager;
26 import org.apache.logging.log4j.Logger;
38 private final AtomicLong
counter =
new AtomicLong(0);
40 private static final Logger
log = LogManager.getLogger(
Counter.class);
53 public Counter(
final String prefix,
final String suffix ) {
60 public Counter(
final String prefix,
final String suffix,
int multiplier) {
67 long i = this.counter.incrementAndGet();
68 long n = this.nextCounter.get();
69 if ((i >= n) && (this.nextCounter.compareAndSet(n, n*multiplier))) {
70 log.info(this.prefix + n + this.suffix);
75 log.info(this.prefix + this.counter.get() + this.
suffix);
79 return this.counter.get();
84 this.nextCounter.set(1);
Counter(final String prefix, final String suffix)
Counter(final String prefix, final String suffix, int multiplier)
Counter(final String prefix)
final AtomicLong nextCounter