博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Java并发编程:volatile关键字解析

Posted on 2016-03-28 18:08  钟悍  阅读(239)  评论(0编辑  收藏  举报

1、CPU速度与内存速度不再一个数量级上,不是每次都到主存上读取与写入变量。而是采用CPU高速缓存:程序在运行过程中,会将运算需要的数据从主存复制一份到CPU的高速缓存当中,那么CPU进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存中的数据刷新到主存当中。

2、volatile 让共享变量有可见性(一旦变化,其他线程立即可以看到)和顺序性(变量上线不会产生重排序)。