Java 多线程 (PART XIV) volatile关键字和变量在内存中的工作过程

来源:互联网 发布:iphoto for mac 10.9 编辑:程序博客网 时间:2024/05/17 09:28

volatile关键字:

用法:修饰变量
作用:保证数据的可见性,每次都从主内存中读取变量的值。
这里写图片描述
缺点:在多线程环境中不可以保证数据的原子性。

变量在内存中的工作过程

这里写图片描述
在多线程的环境中load和asign操作会多次执行,在一个线程执行load操作后没有写回数据,此时另一个线程可能也执行load操作。此时就出现了线程安全问题。