java多线程中如何保证变量的可见性、原子性

首先,理解一下可见性:java 线程在修改主存变量的时候会先拷贝一份到本身的线程栈中去处理,每一个线程都有本身的空间,相互是独立的,在变量修改完成到写入主存中,这个过程对其它线程是不可见的。(这里不明白的话能够看一下java内存模型及线程间的通讯)缓存 那么问题来了 不可见会如何?数据的一致性会被打乱,程序出bug,A线程改了变量c的值,B线程读到的倒是c原来的值(其实想要的是A线程改后的值)at
相关文章
相关标签/搜索