美文网首页
volatile 关键字

volatile 关键字

作者: 不懂i_ | 来源:发表于2017-06-02 15:22 被阅读0次

volatile 关键字 使一个变量在多个线程中可见 (只能保证可见性 不能保证原子性)

使用volatile关键字,会让所有的线程都会读到变量的修改值。

在一个线程里面调用了成员变量的话,并修改的这个成员变量。当Cup非空闲的时候别的线程就不会知道有个线程修改了这个成员变量,如果加了volatile 关键字 当被修饰的这个变量发生改变的时候就会通知所有的线程刷新他们的缓存区对这个成员变量进行更新。

public class Test_ implements Runnable{
volatile boolean flag = true;
@Override
public void run() {
while(flag){

        }
        System.out.println("线程结束----");
    }

public static void main(String[] args) {
    Test_ t = new Test_();
    new Thread(t).start();
    try {
        TimeUnit.SECONDS.sleep(1);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    t.flag =false;
}

}

相关文章

网友评论

      本文标题:volatile 关键字

      本文链接:https://www.haomeiwen.com/subject/kqlufxtx.html