码迷,mamicode.com
首页 > 编程语言 > 详细

Java volatile关键字简读

时间:2019-01-28 12:05:55      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:class   rac   https   一致性   cep   new   strong   alt   技术   

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关键字简读

标签:class   rac   https   一致性   cep   new   strong   alt   技术   

原文地址:https://www.cnblogs.com/heiqiubaihu/p/10329229.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!