其他分享
首页 > 其他分享> > 为什么有了volatile还要有CAS

为什么有了volatile还要有CAS

作者:互联网

之前在学习volatile的时候,有个场景给出是累加,用volatile是错误的,用AtomicInteger才可以

其实在语言层面也可以实现比较并交换(if语句),但语言层面的操作不是原子性的,可能比较之后就被挂起了,被人改了之后,但是苏醒后下一条指令就是去交换

所以会出错

但原子类底层不会被打断,

不知道这样理解对不对

标签:语言,层面,CAS,还要,交换,原子,volatile
来源: https://blog.csdn.net/qq_40911292/article/details/115442345