zoukankan      html  css  js  c++  java
  • Java 并发 —— volatile 关键字

    • volatile 修饰变量等于向编译器传达如下两层含义:
      • 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。
      • 禁止进行指令重排序。
    • volatile 关键字定义了读写发生的次序:
      • 对一个变量(被 volatile 修饰的变量)的写操作先行发生于(happens before)后面对这个变量的读操作

    1. 修饰标记量

    //线程1
    // boolean stop = false; ⇒ 
    volatile boolean stop = false;
    while(!stop){
        doSomething();
    }
    
    //线程2
    stop = true;

    references

  • 相关阅读:
    6月17日
    6月16日
    6月15日
    6月14日
    6月13日
    6月12日
    6月11日
    6月10日
    6月8日
    6月5日
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421115.html
Copyright © 2011-2022 走看看