
并发
sgnever
这个作者很懒,什么都没留下…
展开
-
并发(二)——volatile理解
首先,确定一点就是volatile不具备原子性,但是拥有可见性,并且在一定程度上拥有有序性。 不具备原子性的原因: 因为可以认为是三个步骤 根据jmm理解,从主内存获取变量的值,并将其放入线程工作内存 工作区中的变量副本执行加一操作 再将工作内存写入主内存 其中线程一和线程二有可能同时执行1,然后再执行2,3步骤的时候,就会重复赋同样的值。 可见性和有序性原因 volati...原创 2018-08-16 00:02:13 · 237 阅读 · 0 评论 -
并发(一)——JMM理解
JMM就是Java Memory Model 所有的变量都是存储于主内存之中,当出现有线程要读取变量的时候,就会从主内存中获取一个变量,并在自己的工作内存中生成副本,当修改后会将其写入主内存,而经常出现的线程问题,很大一部分原因,就是工作内存中的副本并未及时写入主内存中导致,jmm是一个概念上的存在,如果一定要与jvm上面对应起来,基本上就是主内存对应的是Heap堆内存,工作内存对...转载 2018-08-15 23:20:19 · 334 阅读 · 0 评论