综述:线程数越多,并发操作数越大LongAdder的优势逐渐体现出来。具体值:线程数>20, 单线程并发>5w次以上LongAdder开始产生优势,当单线程并发>20w后优势非常明显。
以上数据仅限本人本机不同环境不同操作情况,在确定并发线程数量凊况下其并发操作数临界值是确定的,但各个环境测试出来的值却不一定相同需要由线程数和并发操作数共同决定临界值。
以下是AtomicLong
类中可用的重要方法的列表
将给定值原子地添加到当前值。 |
如果当前值与预期值相同则将该值原子设置为给定的更新值。 |
以double 形式返回指定数字的值
|
以float 形式返囙指定数字的值。
|
自动将给定值添加到当前值 |
将原子设置为给定值并返回旧值。 |
原子上增加一个当前值 |
以int 形式返回指定数字的值。
|
返囙指定数字的值为long 类型
|
返回当前值的String 表示形式。
|
如果当前值与预期值相同则将该值原子设置为给定的更新值。 |
以下TestThread
程序显示了在基于線程的环境中使用AtomicLong
的计数器的安全实现
综述:线程数越多,并发操作数越大LongAdder的优势逐渐体现出来。具体值:线程数>20, 单线程并发>5w次以上LongAdder开始产生优势,当单线程并发>20w后优势非常明显。
以上数据仅限本人本机不同环境不同操作情况,在确定并发线程数量凊况下其并发操作数临界值是确定的,但各个环境测试出来的值却不一定相同需要由线程数和并发操作数共同决定临界值。
AtomicLong是作用是对长整形进行原子操作
在32位操作系统中,64位的long 和 double 什么是变量和变量值由于会被JVM当作两个分离的32位来进行操作所以不具有原子性。而使用AtomicLong能让long的操作保持原子型
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。