Java volatile关键字简读

Posted heiqiubaihu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java volatile关键字简读相关的知识,希望对你有一定的参考价值。

Java volatile关键字解读-多变的,易变的


volatile访问内存内存模型:

技术分享图片

- 1.常用变量是由主内存加载到缓存,线程进一步获取变量内容。

- 2.volatile每次访问直接访问主内存cpu,保证缓存一致性,实现轻量级同步

Demo

public class VolatileDemo {
    private static volatile boolean flag = false;
    public static void main(String[] args){
        Thread thread = new Thread(){
            @Override
            public void run() {
                while(!flag){
                    System.out.print("0");
                }
                System.out.print("1");
            }
        };
        thread.start();
        try {
            thread.sleep(5);
        }catch (Exception e){
            e.printStackTrace();
        }
        flag=true;
    }
}

结果:技术分享图片

总结:适用于读多写少的场景

以上是关于Java volatile关键字简读的主要内容,如果未能解决你的问题,请参考以下文章

java volatile关键字

Java volatile关键字解惑

java中的volatile关键字错误[重复]

java笔记java中的volatile关键字

Java并发机制之Volatile关键字

[转] java中volatile关键字的含义