如何分析Unsafe的CAS和内存操作的原理
如何分析Unsafe的CAS和内存操作的原理
CAS(compare and swap)是一种乐观锁的实现方式,它的基本思想是:当多个线程同时对共享数据进行更新操作时,只有其中一个线程能够成功地将数据更新为所需的值,而其他线程则失败,失败的线程并不会退出,而是继续尝试,直到成功为止。
CAS操作包括三个操作数:内存值(V)、预期值(A)和新值(B)。当且仅当预期值A和内存值V相等时,CAS操作才会将内存值V更新为新值B,否则什么都不会发生。
内存操作包括读写操作,是对内存中数据的读写操作。
对于CAS操作来说,它只会在预期值A和内存值V相等的情况下才会执行写操作,否则什么都不会发生。
对于内存操作来说,它可以在任意情况下执行读写操作。
因此,可以看出CAS操作是一种乐观锁的实现方式,而内存操作则是对内存中数据的读写操作。
相关文章