码迷,mamicode.com
首页 > 其他好文 > 详细

CAS

时间:2019-01-28 01:03:41      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:比较   原来   循环   set   实现   缺点   相等   判断   优点   

CAS,在Java并发应用中通常指CompareAndSwap或CompareAndSet,即比较并交换。

CAS是一个原子操作,它比较一个内存位置的值并且只有相等时修改这个内存位置的值为新的值,保证了新的值总是基于最新的信息计算的,如果有其他线程在这期间修改了这个值则CAS失败。CAS返回是否成功或者内存位置原来的值用于判断是否CAS成功。

JVM中的CAS操作是利用了处理器提供的CMPXCHG指令实现的。

优点:

  • 竞争不大的时候系统开销小。

缺点:

  • 循环时间长开销大。
  • ABA问题。
  • 只能保证一个共享变量的原子操作。

CAS

标签:比较   原来   循环   set   实现   缺点   相等   判断   优点   

原文地址:https://www.cnblogs.com/amunote/p/10328180.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!