赞
踩
31. 详细阐述volatile ?为什么它能保证变量对所有线程的可见性? |
volatile只能作用于变量,保证了操作可见性和有序性,不保证原子性。 在Java的内存模型中分为主内存和工作内存,Java内存模型规定所有的变量存储在主内存中,每条线程都有自己的工作内存。 主内存和工作内存之间的交互分为8个原子操作: 1.lock 2.unlock 3.read 4.load 5.assign 6.use 7.store 8.write volatile修饰的变量,只有对volatile进行assign操作,才可以load,只有load才可以use,这样就保证了在工作内存操作volatile变量,都会同步到主内存中。 |
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/277541 推荐阅读 相关标签 Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。 |