java CAS 学习

Posted 永远的七号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java CAS 学习相关的知识,希望对你有一定的参考价值。

CAS(Compare and Swap),即比较并替换,实现并发算法时常用到的一种技术

CAS(V,A,B)

CAS的思想很简单:三个参数,一个当前内存值V、旧的预期值A、即将更新的值B,当且仅当预期值A和内存值V相同时,将内存值修改为B并返回true,否则什么都不做,并返回false

 

由于CAS操作属于乐观派,它总认为自己可以成功完成操作,当多个线程同时使用CAS操作一个变量时,只有一个会胜出,并成功更新,其余均会失败,但失败的线程并不会被挂起,仅是被告知失败,并且允许再次尝试,当然也允许失败的线程放弃操作

以上是关于java CAS 学习的主要内容,如果未能解决你的问题,请参考以下文章

java SpringRetry学习的代码片段

java CAS 学习

JAVA锁中的CAS

JAVA锁中的CAS

Java进阶学习资料!dockeradd解压

对Java CAS的一些了解(正在整理学习中)