【并发编程】-- 原子性、可见性、有序性

上篇博客我们提到了Java内存模型,而Java内存模型的建立是围绕三个特征建立的:原子性、可见性、有序性。 那么可见性可能出现的问题例如脏读,主内存和工作内存之间的共享变量操作方式,保证了数据可见性,另外volatile的强制刷新增强了可见性; 有序性可能出现的问题例如单例的双重锁隐藏的安全性问题,Happens-Before“禁止部分”编译器重排序,另外volatile通过插入内存屏障来禁止处理
相关文章
相关标签/搜索