【每日阅读】2021年3月11日-AtomicInteger底层实现原理是什么?

真诚的希望您能留言与我交流,这会对我有非常大的帮助!

Atomic是一个int类型的封装类,提供原子性的访问和更新操作,其原子性操作的实现是基于CAS技术。

CAS即Compare And Swap,利用CPU的CAS指令对数据进行修改,如果经过比较发现内存中的值和期望的值一样,代表在上次读取之后这个数据没有被其他线程修改过,所以可以安全的修改为目标值。

Java中的CAS操作依赖的是Unsafe类提供的底层能力。CAS操作是Java中无锁(lock free)的基础。

原创文章,作者:geekgao,如若转载,请注明出处:https://www.geekgao.cn/archives/2874

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

GitHub
分享本页
返回顶部