特定的无锁场景问题(如无锁栈)解决:AtomicStampedReference

虽然无锁比较交换让代码看起来比直接加锁复杂一点点,但是无锁比较交换能提供更高的效率,没错,且不存在死锁问题,但是无锁操作不是所有场景下都是安全的。先用最简单直白的概括回顾下CAS,有三个参数V,E,N,只有当“预期值”E和对象V的值相等时,才把V的值更新为“更新值”V。可以看到,是否修改V的值,取决于V的值和E是否相等,如果不相等,那么程序就会重新读取V的值,直到V的值与E相等后,才做修改操作(当
相关文章
相关标签/搜索