2021-04-18 11:25  阅读(100)
文章分类:Java 基础教程 文章标签:JavaJava 教程
©  原文作者:w3cschool 原文地址:https://www.w3cschool.cn/java/java-thread-multiple.html

Java线程教程 - Java Volatile变量

关键字volatile可以保持线程的工作内存中的变量值与它们在主存储器中的值同步。

我们可以声明一个变量volatile如下:

    volatile boolean flag  = true;
    

我们可以只声明一个类成员变量,实例或静态字段,作为volatile。

我们可以使用volatile变量作为标志来停止线程。

例子

下面的代码演示了volatile变量的使用。

    public class Main extends Thread {
      private volatile boolean keepRunning = true;
      public void run() {
        System.out.println("Thread started");
        while (keepRunning) {
          try {
            System.out.println("Going to sleep");
            Thread.sleep(1000);
          } catch (InterruptedException e) {
            e.printStackTrace();
          }
        }
        System.out.println("Thread stopped");
      }
      public void stopThread() {
        this.keepRunning = false;
      }
      public static void main(String[] args) throws Exception{
        Main v = new Main();
        v.start();
        Thread.sleep(3000);
        System.out.println("Going to set the stop flag to true");
        v.stopThread();
      }
    }
    

上面的代码生成以下结果。

20210418112115_1.png

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Java Volatile变量
上一篇
Java 线程组
下一篇
Java 线程状态