采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师好:
我想问一下既然volatile不保证原子性,那为什么我看好多源码里还在用volatile呢?为什么不能直接用atomic原子类型呢?是因为atomic中分配堆内存和cas的cpu消耗吗?如果为了性能而用了volatile,作者不怕产生原子并发问题吗?麻烦老师解答一下,谢谢!
因为atomic比volatile要重量级,如果volatile能解决问题,那就首选volatile。作者一定是判断过了这个场景使用volatile就足够了,不需要用到atomic,所以选的volatile,就比如后面会讲到的AQS里就用到了volatile。
登录后可查看更多问答,登录/注册
JUC全方位讲解,构建并发工具类知识体系
1.0k 11
1.4k 10
1.1k 10
1.0k 10
1.5k 9