CAS

cas涉及三个值:

   要读取内存的值A,期望的值B,新值C。

   读取出A的值与B比较,如果相等(说明比较交换过程中,没有其它线程修改A的值),那么用C更新A。

   无论是否相等,最后都返回A。因为如果不相等,那么A被其它值更新了,所以返回A值(最新的值)。如果相等,C更新A了,返回A(新值)。

原文地址:https://www.cnblogs.com/liyafei/p/9307728.html