zoukankan      html  css  js  c++  java
  • volatile的一点理解

    对于volatile的理解,我想通过代码来表达。

    public class VolatileExample {

    private volatile long data;

     

    public void setData(long newData){

    data = newData;//对于volatile变量的写

    }

     

    public long getData(){

    return data;//对于volatile变量的读

    }

     

    public void increseData(){

    data++;//对于volatile变量的复合操作

    }

    }

     

    等价于下面这个类:

    public class VolatileExampleNew {

    private volatile long data;

     

    public synchronized void setData(long newData){

    data = newData;//对于volatile变量的写

    }

     

    public synchronized long getData(){

    return data;//对于volatile变量的读

    }

     

    public void increseData(){

    long temp = getData();

    temp+=1l;

    setData(temp);

    }

    }

  • 相关阅读:
    轻量级Spring定时任务(Spring-task)
    Mysql语句优化建议
    python时间日期处理
    subprocess
    Tkinter初体验
    java基础
    java JVM
    NFV
    java加载properties文件的六种方法总结
    悲观锁和乐观锁的区别
  • 原文地址:https://www.cnblogs.com/jw93/p/6541786.html
Copyright © 2011-2022 走看看