本文主要是介绍AtomicLong 原子操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
AtomicLong是作用是对长整形进行原子操作。
在32位操作系统中,64位的long 和 double 变量由于会被JVM当作两个分离的32位来进行操作,所以不具有原子性。而使用AtomicLong能让long的操作保持原子型。
创建具有初始值 0 的新 AtomicLong
private AtomicLong sendCount = new AtomicLong(0);
创建具有给定初始值10的新 AtomicLong
private AtomicLong sendCount10 = new AtomicLong(10);
加1 结果1
sendCount.incrementAndGet();
加5 以原子方式将给定值添加到当前值,先加上特定的值,再获取结果 结果6
sendCount.addAndGet(5);
加5 获取当前值再加上特定的值 结果 6
sendCount.getAndAdd(5);
减1以原子方式将当前值减 1,先减去1再获取值 结果10
sendCount.decrementAndGet():
减1先获取当前值再减1 结果 10
sendCount.getAndDecrement();
加1先获取当前值再加1 结果9
sendCount.getAndIncrement():
这篇关于AtomicLong 原子操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!