Java 有人能给我举个使用Volatile的例子吗
可能重复:Java 有人能给我举个使用Volatile的例子吗,java,static,volatile,Java,Static,Volatile,可能重复: 我并没有发现静态变量和可变变量之间的区别 在上面的代码中,我也可以用静态变量实现同样的功能,任何人都可以给我举个例子,说明只有volatile才能实现这个目的吗?我想到的第一个例子: 在值上使用volatile强制更新的原子性 public class Test { volatile boolean running = true; public void count() { new Thread(new Runnable() { public void
我并没有发现静态变量和可变变量之间的区别
在上面的代码中,我也可以用静态变量实现同样的功能,任何人都可以给我举个例子,说明只有volatile才能实现这个目的吗?我想到的第一个例子: 在值上使用volatile强制更新的原子性
public class Test {
volatile boolean running = true;
public void count() {
new Thread(new Runnable() {
public void run() {
int counter = 0;
while (running) {
counter++;
System.out.println("Thread 1 counting " + counter);
}
System.out.println("Thread 1 finished. Counted up to "
+ counter);
}
}).start();
new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(1);
} catch (InterruptedException ignored) {
}
System.out.println("Thread 2 finishing");
running = false;
}
}).start();
}
public static void main(String[] args) {
new Test().count();
}
}