这篇文章主要模拟CPU
的CAS实现,详细的实现原理都加上注释了,不一一解释了。当然这不是真正的CAS实现,真正的CAS是CPU
指令来实现的。
Compare And Swap(CAS)
CAS的原理是拿期望的值和原本的一个值作比较,如果相同则更新为新的值。反之,会继续拿期望的值与原本的值作比较,知道成功为止。
模拟CAS实现类
1 | import java.lang.reflect.Field; |
模拟AtomicLong实现类
1 | /** |
测试类
1 | /** |
Evai Blog
这篇文章主要模拟CPU
的CAS实现,详细的实现原理都加上注释了,不一一解释了。当然这不是真正的CAS实现,真正的CAS是CPU
指令来实现的。
CAS的原理是拿期望的值和原本的一个值作比较,如果相同则更新为新的值。反之,会继续拿期望的值与原本的值作比较,知道成功为止。
1 | import java.lang.reflect.Field; |
1 | /** |
1 | /** |