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 学习的主要内容,如果未能解决你的问题,请参考以下文章