Atomic原子类的原理说明
下文笔者讲述“Atomic原子类的原理说明”,如下所示
Atomic原子类的简介
原子类在多线程的操作下, 只有一个线程会操作成功,其它未成功的线程会循环尝试,直到运行成功
Atomic原子类的原理说明
AtomicInteger类: 使用CAS(compare and swap) + volatile和native 方法来保证原子操作 采用这种方式,可避免系统的高开销,但是也是一种对CPU消耗比较大的操作 CAS原理: 拿期望的值和原本的一个值作比较 如果相同则更新成新的值 UnSafe类的objectFieldOffset()方法是一个JVM方法 此方法是用来拿到“原来的值”的内存地址,返回值为valueOffset 由于value是一个volatile变量,在内存中可见 因此JVM可保证任何时刻任何线程总能拿到该变量的最新值 以上就是Atomic原子类的实现原理
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。