volatile使用场景
来源:6-1 原子类简介

Kevin7012055
2021-04-01
老师好:
我想问一下既然volatile不保证原子性,那为什么我看好多源码里还在用volatile呢?为什么不能直接用atomic原子类型呢?是因为atomic中分配堆内存和cas的cpu消耗吗?如果为了性能而用了volatile,作者不怕产生原子并发问题吗?麻烦老师解答一下,谢谢!
写回答
1回答
-
因为atomic比volatile要重量级,如果volatile能解决问题,那就首选volatile。作者一定是判断过了这个场景使用volatile就足够了,不需要用到atomic,所以选的volatile,就比如后面会讲到的AQS里就用到了volatile。
10
相似问题
ThreadLocal使用场景
回答 1
关于读写锁使用场景
回答 1