关于Lock、synchronized、volatile原理及区别

1.volatile 大多数人都知道volatile一个是保证多线程并发时的内存的可见性,还有一个就是禁止指令重排序,那么什么是内存的可见性呢?JMM模型规范了所有的变量(这里指分配对象之类的共享变量),必须通过主内存与线程工作内存通信。 但是这里会存在一个问题,如果多线程并发的情况下,有两个线程同时对a进行加一操作了,在没有正确同步的情况下,那么有可能就会出现a=2情况,产生这种情况是因为JMM
相关文章
相关标签/搜索