volatile使用场景问题
来源:3-5 线程安全性-有序性与总结
![](http://img1.sycdn.imooc.com/user/545862440001cef302200220-100-100.jpg)
爱心然
2018-03-29
该实例 如果不使用volatile关键字,不能达到同样效果么?会有什么问题?
写回答
2回答
-
海天s
2019-11-24
你可以把图片里的代码补全,写个demo。起两个线程,如果不用volatile修饰inited,线程1修改inited后,线程2并不能读到线程1的修改。
00 -
Jimin
2018-03-29
你好,这个例子,首先是在多线程并发的环境下执行,加了volatile关键字修饰的变量,一个线程修改了他的值,另外一个线程能直接在读取时拿到他的最新值。volatile可理解为每次读取这个变量是从主存里读取最新的值,而不加这个volatile修饰的变量,每次相当于从当前线程的工作内存里取变量,这时不会直接知道其他线程的变化。这里主要依靠的就是volatile的可见性。
祝你学习愉快~00
相似问题