Java并发编程之CAS

CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术。简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替换当前变量的值。


image.png

CAS:用来保证内存缓冲一致性的一种实现手段
实现方法如下,当三个线程都要实现i++,最开始i=0。
线程1把i=0加载到工作内存1中,此时线程2得到线程控制权把i=0加载到工作内存1中并实现i++把i=1重写到主内存中,这时候线程1有得到线程控制权根据CAS算法,它要读主内存的值发现与自己工作内存的值不同此时它要放弃对工作内存1中i=0的i++操作。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容