为了账号安全,请及时绑定邮箱和手机立即绑定

volatile原子性

volatile既然不能保证原子性,那么volatile是不是没有什么用了?没有什么应用场景了?

正在回答

2 回答

这么跟你解释:一行java代码被cpu执行的时候执行的是若干条cpu指令,synchronized对应到cpu执行若干条指令,但是volatile也对应若干条指令,相同的是他们对应的指令有一些相同的,即有重叠,但是又有差异,于是功能有相同也有差异。他们的使用场景也是如此。你现在不适合去理解深沉原理,先学会用,用对场景。

0 回复 有任何疑惑可以回复我~

这个就要涉及到volatile和synchronized两者的比较了。在实际使用中,synchronized比volatile使用更加广泛,但是由于volatile比synchronized更加轻量级,不需要加锁,因此不会阻塞线程。所以在能保证共享变量的原子性的情况下使用volatile的效率会更高。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

volatile原子性

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信