【每日阅读】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

(1)
geekgaogeekgao博主
上一篇 2021年3月9日
下一篇 2021年3月13日

发表回复

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

GitHub
分享本页
返回顶部

Warning: error_log(/usr/local/lighthouse/softwares/wordpress/wp-content/plugins/spider-analyser/#log/log-1009.txt): failed to open stream: No such file or directory in /usr/local/lighthouse/softwares/wordpress/wp-content/plugins/spider-analyser/spider.class.php on line 2900