fzy-blog

java Atomic原子唯一操作

2019-05-24

1
2
3
4
5
6
7
private static AtomicInteger number = new AtomicInteger();
number.getAndIncrement()

private static AtomicInteger counter = new AtomicInteger(0);
public int getCount ( ) {
return counter.incrementAndGet();
}

对于 AtomicInteger、AtomicLong 还提供了一些特别的方法。
getAndIncrement( ):以原子方式将当前值加 1,相当于线程安全的 i++操作。
incrementAndGet( ):以原子方式将当前值加 1, 相当于线程安全的++i 操作。
getAndDecrement( ):以原子方式将当前值减 1, 相当于线程安全的 i–操作。
decrementAndGet ( ):以原子方式将当前值减 1,相当于线程安全的–i 操作。
addAndGet( ): 以原子方式将给定值与当前值相加, 实际上就是等于线程安全的 i =i+delta 操作。
getAndAdd( ):以原子方式将给定值与当前值相加, 相当于线程安全的 t=i;i+=delta;return t;操作。
以实现一些加法,减法原子操作。(注意 –i、++i 不是原子操作,其中包含有 3 个操作步骤:第一步,读取 i;第二步,加 1 或减 1;第三步:写回内存)

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章