之前在学习volatile的时候,有个场景给出是累加,用volatile是错误的,用AtomicInteger才可以
其实在语言层面也可以实现比较并交换(if语句),但语言层面的操作不是原子性的,可能比较之后就被挂起了,被人改了之后,但是苏醒后下一条指令就是去交换
所以会出错
但原子类底层不会被打断,
不知道这样理解对不对
标签:语言,层面,CAS,还要,交换,原子,volatile
来源: https://blog.csdn.net/qq_40911292/article/details/115442345