【Java多线程】内存模型/volatile /Atomic原子类
多线程的三大特性
原子性 独一无二,一致性 保证线程安全问题
可见性 java内存模型图
有序性 join,wait,notify
什么是java内存模型?
答:(属于)多线程可见性jmm
java内存结构是jvm内存分配
Java内存模型,决定了一个线程与另一个线程是否可见
java内存模型 主内存,本地私有内存
1 | public class ThreadDemo extends Thread { |
上面代码执行后线程停止了才对啊,为什么没停止
答:其实嘛就是和上面说的java内存模型一样,因为子线程没有及时刷新数据导致的
解决方法就是给flag变量加上volatile关键字强制刷新就可以了
volatile 作用保证线程之间的可见性,但不保证原子性
所以jdk1.52中有个并发包类在
java.util.concurrent.atmoic中
具体请查看jdk 1.5及以上的api手册
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jamie793’ S Blog!