- Copmare And Set/Swap
- cas(V,E,N) ,cpu原语支持,中间不被打断。
V - 要改的值
E - 我期望的这个值是多少
N - 要设置的新值
可以这样理解:
if(V == E) {
V = N;
} else {
try again or fail;
}
CAS 内部用了Unsafe类去实现。
ABA问题:
如果是基础类型不会产生问题,引用类型 -> 加version来解决,
可以这样理解:
if(V == E) {
V = N;
} else {
try again or fail;
}
CAS 内部用了Unsafe类去实现。
ABA问题:
如果是基础类型不会产生问题,引用类型 -> 加version来解决,
本文标题:CAS(无锁优化,自旋)
本文链接:https://www.haomeiwen.com/subject/jahvqktx.html
网友评论