请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

volatile使用场景

老师好:

我想问一下既然volatile不保证原子性,那为什么我看好多源码里还在用volatile呢?为什么不能直接用atomic原子类型呢?是因为atomic中分配堆内存和cas的cpu消耗吗?如果为了性能而用了volatile,作者不怕产生原子并发问题吗?麻烦老师解答一下,谢谢!

正在回答

1回答

因为atomic比volatile要重量级,如果volatile能解决问题,那就首选volatile。作者一定是判断过了这个场景使用volatile就足够了,不需要用到atomic,所以选的volatile,就比如后面会讲到的AQS里就用到了volatile。

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信