import java.util.concurrent.atomic.AtomicLongFieldUpdater;
/**
* 类说明:内存节约型计数器
*
* @author ruipeng.lrp
* @since 2018/1/31
**/
public class MemoryEffectiveCounter {
private static final AtomicLongFieldUpdater<MemoryEffectiveCounter> cntUpdater = AtomicLongFieldUpdater
.newUpdater(MemoryEffectiveCounter.class, "cnt");
private volatile long cnt = 1;
public long getCnt() {
return cnt;
}
public void setCnt(long cnt) {
cntUpdater.set(this, cnt);
}
public final long getAndIncrement() {
return cntUpdater.getAndIncrement(this);
}
public final long getAndAdd(long delta) {
return cntUpdater.getAndAdd(this, delta);
}
public final long getAndDecrement() {
return cntUpdater.getAndIncrement(this);
}
}
Netty之更高效的计数器
最新推荐文章于 2022-05-05 16:44:00 发布