并发(二)——volatile理解

首先,确定一点就是volatile不具备原子性,但是拥有可见性,并且在一定程度上拥有有序性。 不具备原子性的原因: 因为可以认为是三个步骤 根据jmm理解,从主内存获取变量的值,并将其放入线程工作内存 工作区中的变量副本执行加一操作 再将工作内存写入主内存 其中线程一和线程二有可能同时执行1,然后再执行2,3步骤的时候,就会重复赋同样的值。 可见性和有序性原因 volatile拥有指令重排和内存屏
相关文章
相关标签/搜索