java并发
一个java小白的成长记录
这个作者很懒,什么都没留下…
展开
-
JAVA多线程之volatile 与 synchronized 的比较
一,volatile关键字的可见性 要想理解volatile关键字,得先了解下JAVA的内存模型,Java内存模型的抽象示意图如下:从图中可以看出: ①每个线程都有一个自己的本地内存空间–线程栈空间???线程执行时,先把变量从主内存读取到线程自己的本地内存空间,然后再对该变量进行操作 ②对该变量操作完后,在某个时间再把变量刷新回主内存 关于JAVA内存模型,更详细的可参考: 深入理解Java内存模型转载 2017-03-08 16:40:17 · 255 阅读 · 0 评论 -
java多线程中的关键字volatile
volatile关键字目的就是为了保证变量在java内存中的可见性,就是一旦变量被修改,其他线程会立即得知这个改变。在《深入理解java虚拟机》一书中讲到,线程对volatile修饰的变量的use动作和load、read操作相关联,必须连续出现;相同地,线程对volatile修饰的变量的assign动作和store、write动作相关联,也必须连续出现。这其实相当于所有的线程对volatile修饰的原创 2017-03-08 17:09:34 · 252 阅读 · 0 评论