作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
有人知道这个类在现实生活中的使用吗 AtomicLongFieldUpdate ?我已经阅读了描述,但我还没有完全理解它的含义。为什么我想知道那个?好奇心和 OCPJP 准备。
提前致谢。
最佳答案
您可以考虑以下方面的成本阶梯:
long
:便宜,但多线程访问不安全volatile long
:更昂贵,多线程访问安全,原子操作不可能AtomicLong
:最昂贵,多线程访问安全,原子操作可能(当我说“不安全”或“不可能”时,我的意思当然是“没有像同步这样的外部机制”。)
如果需要多线程访问,但大多数操作都是简单的读取或写入,只需要少数原子操作,您可以创建一个 AtomicLongFieldUpdate
的静态实例,并在以下情况下使用它需要原子更新。内存/运行时开销类似于一个简单的 volatile
变量,除了与普通 AtomicLong
操作相当(或稍微昂贵)的原子操作.
这是一个nice little tutorial .
关于java - AtomicLongFieldUpdate 类的实际使用和解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17239568/
有人知道这个类在现实生活中的使用吗 AtomicLongFieldUpdate ?我已经阅读了描述,但我还没有完全理解它的含义。为什么我想知道那个?好奇心和 OCPJP 准备。 提前致谢。 最佳答案
我是一名优秀的程序员,十分优秀!