Java Volatile变量
2018-02-28 15:04 更新
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();
}
}
上面的代码生成以下结果。

以上内容是否对您有帮助:
← Java 线程组

免费 AI IDE


更多建议: