请稍等 ...
×

采纳答案成功!

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

volatile使用场景问题


该实例 如果不使用volatile关键字,不能达到同样效果么?会有什么问题?

正在回答 回答被采纳积分+3

2回答

海天s 2019-11-24 22:02:35

你可以把图片里的代码补全,写个demo。起两个线程,如果不用volatile修饰inited,线程1修改inited后,线程2并不能读到线程1的修改。

0 回复 有任何疑惑可以回复我~
Jimin 2018-03-29 08:48:10

你好,这个例子,首先是在多线程并发的环境下执行,加了volatile关键字修饰的变量,一个线程修改了他的值,另外一个线程能直接在读取时拿到他的最新值。volatile可理解为每次读取这个变量是从主存里读取最新的值,而不加这个volatile修饰的变量,每次相当于从当前线程的工作内存里取变量,这时不会直接知道其他线程的变化。这里主要依靠的就是volatile的可见性。
祝你学习愉快~

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